Я являюсь пользователем Windows и прихожу на Ubuntu's Bash благодаря WSL . Теперь мне нужно отредактировать некоторые файлы, и я действительно ненавижу Vi. Должен ли я просто иметь дело с этим, или есть более простая альтернатива?
Особенности, которые я ищу:
- На основе CLI
- прост в использовании (набор текста и редактирование должны быть похожи на блокнот)
- достаточно простых возможностей редактирования
Я постараюсь освоить Vim, но мне нужно сделать быстрое редактирование прямо сейчас!
Ответы:
Если вы ищете альтернативного редактора, вы не одиноки. В принципе жизнь слишком коротка, чтобы учиться,
vi
и я говорю, что это разработчик программного обеспечения для жизни. Однако вы должны научиться выходить из него, потому что это проблема для одного из 20 тысяч программистов . Также стоит изучить некоторые базовые операции добавления / вставки, потому что на некоторых упрямых серверах вы не найдете другого редактора.Теперь, ответ на ваш вопрос, вероятно
nano
.Если вы запускаете какой-либо сценарий автоматической сборки, используете
git
или запускаете другие команды, они могут открыватьсяvim
без вашего ведома. Вы можете предотвратить это, выполнив следующее перед продолжением:источник
EDITOR
чаевыеЭто вопрос мнения.
Новички используют нано .
У vim («vi улучшенный») есть немного кривой обучения, но он очень мощный. См. Это руководство для начинающих для vim или любых других руководств vim или руководство по vim
vimtutor
(входит в vim).Сейчас я настоятельно рекомендую нано
-B делает резервную копию
Команды выдаются с управляющим ключом и перечислены в нижней части окна редактора.
Существует руководство по подсветке синтаксиса, см. Как включить подсветку синтаксиса в nano?
emacs
является альтернативой для обоихvim
иnano
и имеет много преимуществ , а также.emacs
является более сложным, чем нано. Вы можете увидеть тур Emac .Просто для полноты темы vim +, такие как Zenburn, могут быть весьма полезны
источник
vi/vim
. :) Это на каждом устройстве nix. :) Основы не так сложно.Как Windows PowerUser, после попытки,
vim
иnano
я обнаружил, что мне нужно что-то среднее, мудрость сложности. поэтому я попытался дать пощечину, и это было то, что я искал.установка:
источник
Пока мы выступаем за наши любимые легкие текстовые редакторы, позвольте мне порекомендовать eXcellent, крошечный и быстрый
xo
(exofrills) .Это один файл Python 3, и он имеет хорошую поддержку подсветки синтаксиса через Pygments (хотя и не идеально с не-Python):
У этого также есть чрезвычайно простые и полезные комбинации клавиш, которые могут быть легко и легко изменены в соответствии с вашим сердцем:
Другие преимущества:
Исходный код Python3 находится на github , и его проще установить, используя:
Отказ от ответственности: я никоим образом не связан с проектом exofrills.
источник
Хотя я не могу отрицать, что я слишком боролся с vi вначале, я думаю, что можно привести аргумент, что vi на самом деле очень легко изучить. (Когда я начал использовать Unix, выбор был либо vi, либо emacs, поэтому в то время я выбрал ed, ed был очень простым редактором строк, который я узнал уже из чтения ранних учебников по Unix.) Я использую vi ежедневно, но, вероятно, использовать только очень маленькое подмножество его функций.
Вот первый аргумент для использования vi: vi существует во всех системах, использует очень мало ресурсов и может использоваться при нестабильных и медленных соединениях, где другие редакторы могут выходить из строя или быть медленными и непригодными для использования. Или в ситуациях, когда система не работает, поэтому клавиши со стрелками интерпретируются неправильно (например, неверные настройки terminfo). Поэтому vi можно использовать для исправления файлов конфигурации, приводящих к проблеме, без влияния проблемы.
И вот как узнать полезное подмножество vi: во-первых: перестаньте думать о vi как об интерактивном «редакторе» GUI терминала и посмотрите на него как на язык программирования для работы с текстовыми файлами. В начале "vi" означало режим VIsual, а у vi есть невизуальный аналог ex, который является хорошим началом. Введите ex в приглашении оболочки (я буду использовать ¬ для представления возврата):
Теперь нажмите Enter.
Итак, давайте вложим что-то в это. Введите «a¬» и введите строку текста, а затем точку в строке:
Это была команда добавления. Легкий, короткий и мнемонический. Но было бы неплохо посмотреть, что находится в буфере:
Это была команда печати, p, очевидно. % - это сокращение диапазона строк. Каждой команде может предшествовать номер строки или диапазон, к которому должна применяться команда. % означает «все строки». $ означает последнюю строку, а точка означает текущую строку. Число означает эту конкретную строку. Диапазон записывается как n, m, и число может быть добавлено или вычтено, поэтому + 1, $ - 1 означает от следующей строки до второй-последней строки. Команда, состоящая только из номера строки, отправляется на эту строку. Вот оставшееся небольшое подмножество команд, которые я использую:
w записывает все (или выбранный диапазон) строк в файл.
удаляет строку 1
s заменяет регулярное выражение. Хорошо знать регулярные выражения!
д выходит wq пишет и выходит. д! выходит без записи, и в том же духе, ш! форсирует запись в файл, если это возможно.
Теперь классный:
! как команда фильтрует строки в команду оболочки.
И наконец:
входит в ВИЗУАЛЬНЫЙ режим. Не обманывайтесь. Это похоже на редактор, но это все еще просто оболочка для интерактивного программирования. Вы просто все время просматриваете буфер и еще несколько команд. В визуальном режиме a: показывает подсказку: из режима ex. Клавиши со стрелками (если они работают) перемещаются, а если нет, то hjkl делает! h влево, j вниз, k вверх и l вправо. 0 перемещается к первому символу и ^ (подумайте здесь о регулярном выражении!) К первому непробельному символу в строке. $ (снова regex!) перемещается в конец строки. Ввод: 999¬ переходит к строке 999, естественно, как в режиме ex.
«i» входит в режим вставки, который теперь вставляет символы вместо строк, и заканчивается нажатием клавиши escape вместо «.¬». «I» вставляет в начале, «a» после символа под курсором и «A» после конца текущей строки. Всегда нажимайте escape, когда закончите ввод текста. «x» удаляет символ под курсором, а «D» удаляет курсор от конца строки. «Y» возвращает (копирует) текущую строку, а «P» вставляет ее обратно. ": pu" делает то же самое, но перед ним может стоять номер строки. «: ya» является бывшим эквивалентом «Y», и снова полезно применять к диапазону строк. Я думаю, что есть команда mark, но я признаю, что не помню ее. Я не скучаю по этому.
Это то, что я использую, и я знаю, что я, вероятно, не очень «эффективный» пользователь vi. С другой стороны, я использую универсальность ex, например, для редактирования скриптов в файлах конфигурации. Нужно изменить имя хоста foo.bar.com на www.foobar.com в нескольких файлах conf?
Я пытаюсь сказать, что проблема с vi заключается в том, что люди думают, что это сложный редактор. Все, что вам нужно, это немного изменить свое мышление и вместо этого рассматривать его как очень простой, но также очень мощный интерактивный язык программирования. Настолько мощный, что даже с подмножеством доступных команд, вы можете использовать его с большим эффектом - не только как редактор, но и как общий инструмент с возможностью написания сценариев, хорошо интегрированный с остальной частью Unix. Я сомневаюсь, что nano сделает все это - emacs ... возможно.
источник
Если вам нужен основанный на терминале Sublime-подобный текстовый редактор с поддержкой мыши, выберите Micro , Slap или Suplemon .
Однако, если вы ищете модальный текстовый редактор, смотрите не дальше, чем в Kakoune .
источник