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

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

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

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

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

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

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

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

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

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

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

Нано:

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

Сила:

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

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

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

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

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

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

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

Нижняя линия: начните с nano, и перейти к vim если nano становится утомительным.

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

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

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

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

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

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

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

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

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

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

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

Полностью ваше желание.

если вы хотите знать разницу, вы должны использовать их оба и убедиться в этом сами

Также не путайте vi и vim. Последняя - улучшенная версия, в которой есть много интересных вещей, например «текстовые объекты».

У nano кривая обучения меньше, чем у vim, но, я полагаю, к vi нужно привыкнуть еще больше. Однако знание и того, и другого будет весьма полезно.