Разница между Nano и Vim

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

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

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

54
задан 28 January 2016 в 10:24

6 ответов

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

Nano прост, удобен в использовании и освоен, в то время как Vim является мощным и трудным в освоении.

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

Nano:

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

Vim :

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

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

51
ответ дан 23 November 2019 в 00:59

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

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

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

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

57
ответ дан 23 November 2019 в 00:59

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

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

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

5
ответ дан 23 November 2019 в 00:59

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

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

Стоит отметить, что в настоящее время существует более одного vim. «Vim» стал своего рода стандартом, который реализован во многих других редакторах и IDE в виде флажка в настройках или плагина. Например, я использую Emacs with Evil (плагин для vim-режима) .

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

3
ответ дан 23 November 2019 в 00:59

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

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

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

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

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

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

22
ответ дан 23 November 2019 в 00:59

Прочитал другие сообщения. Изначально я бы с ними согласился. Однако я потратил время на то, чтобы по-настоящему изучить нано. На самом деле это довольно мощно. Например, у вас может быть подсветка синтаксиса. Вам просто нужно настроить файл .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, вы находитесь в одном режиме, и ваши команды используют специальные комбинации клавиш. По мере того, как вы будете больше использовать редактор, вы начнете изучать все наиболее часто используемые команды. И если вы будете его много использовать, вы выучите большинство из них. Еще одно замечание: для функции чтения файла есть два режима. Либо он будет читать файл в текущий буфер редактирования, либо в новый буфер для перехода между ними. Обязательно посмотрите на него.

2
ответ дан 4 January 2021 в 10:29

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

Похожие вопросы: