Нет реальной причины использовать нано.Практически все лучше.
Что касается vim и emacs, вот что я сказал в прошлый раз, когда это произошло :
Я полукомпетентен с сочетаниями клавиш vi,но я предпочитаю Emacs в целом.Причина, по которой у этих редакторов такие пылкие приверженцы, заключается в том, что предоставляемая ими модель редактирования является более мощной, чем в более новых системах, поэтому недостаточно предоставления «привязок клавиш vi» или «привязок клавиш emacs», даже если вы не используете какие-либо функции расширения.или настройки для emacs или vi.
Я собираюсь говорить только о модели Emacs, потому что я понимаю ее лучше всего.Обычная модель для редактирования текста сегодня включает в себя буфер текста, в который текст может быть вставлен, удален, выделен и вырезан / скопирован / вставлен в системный буфер обмена.
Буферы Emacs, конечно, могут поддерживать этиоперации.Наряду с отслеживанием позиции курсора для каждого окна, в котором они видны, они также отслеживают сделанные в них «отметки».Текст между «точкой» (позицией курсора) и «меткой» называется «областью» и примерно соответствует выделению в основных редакторах.
Разница в том, что Emacs отслеживает последние несколькоместа, в которых была установлена метка в кольце меток, и вы можете вернуться к ним нажатием клавиши (или двумя, в зависимости от вашей конфигурации).Я нахожу это чрезвычайно полезным, тем более что многие команды Emacs, которые изменяют ваше местоположение в буфере, устанавливают метку в вашем старом местоположении.Например, когда я редактирую модуль Python и мне нужно добавить оператор импорта в начало файла.Нажатие клавиши для перехода к вершине буфера (Alt- <) устанавливает метку.Я добавляю заявление на импорт.Я нажимаю Ctrl-U Ctrl-Space и возвращаюсь туда, откуда начал.Я могу продолжать делать это, чтобы вернуться к предыдущим позициям.(Возможно, мне нужно было выбрать какой-то текст при добавлении этого оператора импорта.) </p>
Другое (и более известное) отличие Emacs - это список уничтожений.Большинство нажатий клавиш для удаления текста из буфера сохраняют текст в список уничтожений, который затем можно вызвать с помощью команды «yank» (Ctrl-y).Важной особенностью является то, что последующие команды yank возвращают старый уничтоженный текст.Таким образом, вы можете убить несколько разделов текста подряд, а затем получить их по порядку.Вы также можете циклически перемещаться по кольцу уничтожения с помощью Alt-y после рывка, удаляя извлеченный текст и вставляя следующую запись в кольцо.
Emacs имел эти функции в 1978 году. Единственная другая основная система, которая приняла ихв какой-то степени это NeXTStep (и теперь наследуется Какао).Другие инструменты предоставляют больше возможностей для конкретных задач, могут быть расширены на языках, более простых в использовании, чем Emacs Lisp, и имеют более приятные визуальные интерфейсы ... но Emacs остается лучше при редактировании текста.Вот почему, когда вы знаете, как его использовать, так трудно бросить.