Разница между Нано и Вимом [закрыто]

27

Я недавно начал использовать Ubuntu и, следовательно, терминал.

В качестве текстового редактора я использовал предустановленный nano. Теперь мне интересно, стоит ли мне устанавливать и использовать vimтакже.

Каковы особенности, преимущества и недостатки каждого из этих текстовых редакторов? Какой из них лучше подходит для новичков, и для каких вариантов использования будет предпочтительнее другой?

Maxsash
источник
2
Целиком ваше желание.
Муру
1
если вы хотите узнать разницу, вы должны использовать их оба и убедиться сами
Эдвард Торвальдс
Также не путайте vi и vim . Последняя является улучшенной версией, в которой есть много интересных вещей, например, «текстовые объекты».
Привет, Ангел,
Nano имеет меньшую кривую обучения, сравненную с Vim, VI требует привыкания к еще большему, я полагаю. Однако знание обоих будет весьма полезно.
Сергей Колодяжный

Ответы:

35

Vim и Nano - совершенно разные терминальные текстовые редакторы.

Nano прост, прост в использовании и освоении, а Vim - мощная и сложная в освоении.

Чтобы отличить их, будет лучше перечислить некоторые их особенности. Поскольку мы не используем терминальные редакторы для обычного редактирования или кодирования, я перечисляю некоторые из наиболее интересных функций, которые помогают использовать их сегодня.

Nano:

  • Прост в использовании и освоить.
  • Nano имеет большинство ярлыков, перечисленных в нижней части окна, что делает его чрезвычайно простым в использовании.
  • Функция поиска
  • Поиск и замена
  • Команда "Перейти к строке"
  • Автоматический отступ

Vim:

  • Трудно начать и освоить. Режимы редактирования и команд будут смущать начинающих.
  • Восстановление сеанса
  • Разделенный экран
  • Расширение вкладки
  • Завершение команд
  • Синтаксическая раскраска

Хотя я ненавидел Вима, когда впервые встретил его, теперь я предпочитаю его Нано.

Джитин Павитран
источник
Очень хороший список возможностей, +1. Но вы должны по возможности предпочитать форматирование Markdown, а не теги HTML в своих сообщениях. Вот соответствующий сайт справочного центра о синтаксисе Markdown в Ask Ubuntu, который поможет вам улучшить ваши будущие посты. :-)
Byte Commander
10
nanoподдерживает подсветку синтаксиса: askubuntu.com/q/90013/158442 . Соответственно, Vim поддерживает все последние четыре функции, упомянутые для nano.
Муру
msgstr "мы не используем терминальные редакторы для нормального редактирования или кодирования". Хм ... :)
Нил
Vim поддерживает goto line, который исходит от его родительского vi, который исходит от его родительского Ex. Простой тип :31в моральном режиме
Уильям Кинаан
46

В двух словах: nanoпросто, vimмощно.

Если вы хотите просто редактировать некоторые текстовые файлы, nanoбудет достаточно. На мой взгляд, vimдовольно продвинутый и сложный в использовании. Вы должны ожидать некоторое время, чтобы войти в него, прежде чем вы сможете правильно его использовать.

Забавная (но не слишком нереальная) цитата о vim: ( источник )

Я использую vim уже около 2 лет, в основном потому, что не могу понять, как выйти из него.

Byte Commander
источник
12

Они оба текстовые редакторы, но сходство на этом и заканчивается . Может показаться странным, что два текстовых редактора могут быть такими разными. Ключевым является то, что оба они являются специализированными текстовыми редакторами, созданными для двух совершенно разных задач. nanoи vim(или, скорее, picoи vi, что они подражают) были предназначены для написания электронных писем и программ, соответственно.

Вы не должны проводить много времени nano: вы входите, набираете свое электронное сообщение (или что бы вы ни писали), и вы быстро уходите . Все основано на том, чтобы как можно быстрее входить и выходить из вас, чтобы вы могли вернуться к тому, чем еще занимались. Все перечисленные ниже функции перечислены в нижней части окна, поэтому вам не придется тратить время на просмотр справочных экранов. Конечно, в нижней части окна остается очень много места, и поэтому функциональность ограничена тем, что можно выразить, наряду со всеми другими функциями, в двух строках текста. Результат чрезвычайно удобен для некоторых вещей.

Вы должны проводить много (если не почти все) своего времени vim, поэтому оно старается не мешать вам, помогая быстро перебирать большие куски текста . Базовый экран запуска почти не дает информации, и когда вы открываете файл, вы получаете немного больше информации о том, где вы находитесь. И в обоих случаях вы не можете набирать текст сразу : вы начинаете в «обычном режиме» и должны iсначала нажать, чтобы перейти в «режим вставки» (есть также несколько других букв, которые вы можете нажать вместо i, предлагая некоторые варианты на эту тему, а также есть некоторые другие режимы, которые я не упомянул). Кривая обучения чрезвычайно крутая: она vimtutorпомогает людямпосвященный исключительно vimинтерфейсу обучения . Подумайте об этом на секунду. Целая игра, просто чтобы научиться пользоваться текстовым редактором. И люди платят за это.

Нет сомнений, что nanoэто лучше для новичка . Я что-то вроде vimфанатиков, и даже я не могу оспорить это. Я видел vimотключение Linux от новичков вообще. И если вы не планируете много редактировать текст, или ваши задачи редактирования текста довольно легки (например, писать электронные письма), тогда, nanoвозможно, все, что вам нужно.

Тем не менее, хотя освоение vimзанимает много времени, окупаемость инвестиций высока . Я понимаю, что остальная часть этого поста звучит как-то vimплохо, но это не мое намерение. Вам просто нужно знать, во что вы ввязываетесь, потому что vimэто сложно . Но даже его конфигурация по умолчанию содержит функции, которые автоматизируют множество общих (и очень повторяющихся) задач редактирования текста: вы можете выполнить несколько нажатий клавиш, что может занять много минут или даже часов, если вам пришлось делать их все вручную. Есть плагины и скрипты, которые делают это еще дальше. Если вы собираетесь много заниматься программированием или выполнять такие же длинные и сложные задачи (диссертации, романы и т. Д.), vimТо в конечном итоге это лучший выбор, но вам все равно следует определитьсяnanoВо-первых: если возникнет чрезвычайная ситуация, и вам нужно что-то предпринять, прежде чем вы vimначнете понимать основы , вы захотите сделать то, что вам удобно.

Итог: начните с nanoи переходите к, vimесли nanoстановится утомительным .

Ложка
источник
4

Вам не нужен vi или vim, если вам нравится nano.

Nano проще в использовании, если вы не знакомы с vim.

Vim похож на vi, который универсален (он установлен почти на всех Unix-подобных системах), но если вы никогда не использовали его раньше, вам нужно будет просмотреть некоторую документацию / руководство, прежде чем вы сможете что-либо с ним сделать.

Оливье
источник
2

Vim очень мощный, но трудно учиться . Это так называемый «модальный редактор» - в отличие от обычного редактора, который является нано. Vim позволяет сделать весь текст за несколько нажатий клавиш, поэтому, если вы сможете печатать на клавиатуре, ваше движение с помощью чистой клавиатуры будет даже быстрее, чем с помощью мыши.

Так что, если вы не пишете много - например, программисты - тогда вы можете просто использовать любой обычный редактор. В противном случае я предлагаю вам узнать, что Vim. Например, я использую Emacs с режимом зла (который эмулирует Vim) , это круто.

Побочный эффект изучения Vim, о котором никто по какой-то причине не упоминает - если вы не умеете делать прикосновения, но хотите изучать его, просто изучайте Vim и используйте его каждый день. Vim заставляет вас двигаться без части стрелки (вместо h, j, k, l) , и, поскольку вы не можете смотреть на клавиатуру каждый раз, когда вы двигаетесь, вы будете вынуждены изучать все больше и больше положений клавиш. Так я научился сенсорному типу ☺

Привет, ангел
источник