Разница между Нано и Вимом

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

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

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

5 ответов

Решение

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

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

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

Nano:

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

Vim:

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

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

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

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

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

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

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

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

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

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

Тем не менее, при освоении vim занимает много времени, возврат инвестиций высок. Я понимаю, что остальная часть этого поста звучит отчасти vim, но это не мое намерение. Вам просто нужно знать, во что вы ввязываетесь, потому что vim это сложно. But even its default configuration contains functions that automate a lot of common (and very repetitive) text-editing tasks: you can do with a few keystrokes things that could take many minutes, or even hours, if you had to do them all manually. There are plugins and scripts that take this even further. If you're going to be doing a lot of programming, or similarly long and involved tasks (dissertations, novels, etc), then vim is ultimately the better choice, but you should still figure out nano first: if an emergency comes up and you need to do something before you've figured out the basics of vim, you'll want to be able to drop into something you're comfortable with.

Bottom line: start with nano , and move to vim если nano gets tedious.

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

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

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

Прочитал другие посты. Изначально я бы с ними согласился. Однако я потратил время на то, чтобы по-настоящему изучить нано. На самом деле это довольно мощно. Например, у вас может быть подсветка синтаксиса. Вам просто нужно настроить файл .nanorc. И есть много образцов, которые поступают на сервер в /usr/share/nano. Просто добавьте строку include /usr/share/nano/sh.nanorc в свой файл ~/.nanorc для выделения оболочки bash.

Есть большое количество дополнительных клавиатурных команд, которые вы можете использовать. Сделал себе целую страницу ярлыков. Это очень похоже на использование Wordstar или других текстовых редакторов старых времен. Теперь я обнаружил, что устанавливаю nano на серверах, но это не один из моих первых шагов, потому что он стал для меня настолько интуитивно понятным и намного более эффективным, чем vi / vim. Я бы не сказал, что он более мощный, но он такой же мощный.

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

Большая разница в том, что vim является модальным, а nano - нет. Таким образом, с vim вы постоянно переключаетесь между командным режимом и режимом редактирования. В nano, как и в emacs, вы находитесь в одном режиме, и ваши команды используют специальные комбинации клавиш. По мере того, как вы будете больше использовать редактор, вы начнете изучать все наиболее часто используемые команды. И если вы будете его много использовать, вы выучите большинство из них. Еще одно замечание: для функции чтения файла есть два режима. Либо он будет читать файл в текущий буфер редактирования, либо в новый буфер для перехода между ними. Обязательно посмотрите на него.

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

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

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

Другие вопросы по тегам