«Дайте мне шесть часов, чтобы срубить дерево, и первые четыре я потрачу на то, чтобы точить топор». - Абрахам Линкольн

Какой у тебя топор?
Какой у вас текстовый редактор?

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

Вот мой путь к Emacs. Многие из вас могут столкнуться с теми же проблемами, на которые я указал, и, надеюсь, мое решение поможет вам переосмыслить свой выбор текстового редактора.

Начните с возвышенного текста

Я тоже начинал с IDE. Если вы новичок в программировании, я настоятельно рекомендую Sublime text или другую IDE. Он предоставляет большую часть функциональности без каких-либо усилий, так что вы можете меньше учиться, тратить меньше времени на отладку и как можно быстрее начать продуктивно работать.

В какой-то конкретной области IDE всегда превосходит другие, потому что она очень интеллектуальна, например, Eclipse для Java, Xcode для Swift и Visual Studio для Microsoft. Они построены для своей цели. Нам лучше придерживаться этого.

Однако для такой области, как веб-разработка, вопрос о лучшем текстовом редакторе становится все более спорным. Для своего первого веба я выбираю Sublime Text, и он мне нравится. К сожалению, я обычно работаю с контентом на тайском, а иногда и на китайском языке, и он выглядит не очень хорошо (в 2013 году).

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

Я также думаю, что мышь является узким местом в рабочем процессе, потому что

Мы не можем свободно печатать одной рукой.

Поэтому нашей правой руке нужно быстро переключаться между клавиатурой и мышью. С таким программным обеспечением, как Photoshop, мы отлично работаем одной рукой на клавиатуре, готовой нажать ярлык, а другой рукой всегда на мыши, чтобы перемещаться и выполнять команду.

Переход на Vim

С большой властью приходит большая ответственность.

Чтобы сделать vim более продуктивным, вам нужно отредактировать файл конфигурации с именем .vimrc и установить кучу пакетов. Кроме того, клавиша escape часто используется в Vim и находится слишком далеко. Поэтому я меняю escape на клавишу Caps Lock. (Если вы работаете в OSX, Karabiner — отличный выбор для переназначения ключа.)

Вот несколько быстрых взглядов, почему Vim более полезен для здоровья

  • поиск hello: /hello нажмите n, чтобы перейти дальше, и N, чтобы вернуться
  • отредактируйте аргумент функции, такой как function(toEdit): ci(
  • добавлять ; до конца каждой строки: %s/$/;/g
  • перейти вниз на 7 строк: 7j
    (у нас есть относительный номер строки вызова пакета, тогда мы можем увидеть, на сколько строк мы хотим опуститься. В противном случае этот метод не лучше, чем повторение стрелки вниз)
  • прокрутка: Ctrl+u (вверх) и Ctrl+d (вниз)

Я вполне доволен vim, несмотря на много часов после работы, потраченных на то, чтобы заставить его работать так, как я хочу. Это работает до тех пор, пока мне не нужно работать с латексом (система документов. Латекс хорош в математических символах и широко используется в академических кругах).

Требуется система проверки орфографии, компиляция и дальнейшая настройка. Я не спорю, что в vim нельзя добиться какого-то результата. Все достижимо, но требует вашего времени. По крайней мере, для меня в скрипте Vim все сложно и загадочно. Что-то нужно, чтобы заполнить пробел.

Evil-mode: высокий путь от vim до Emacs

Этот клип сводит меня с ума и приводит меня к Emacs

В Emacs есть куча отличных плагинов. Хорошо работать с большим проектом и большим файлом, но подождите. Кто хочет сойти с ума от сочетания клавиш Emacs Ctrl+stuff. Это не проблема. Привязать ключ легко.

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

И мы нашли то, что искали. Злой режим заполнить пробел! Редактирование Vim в Emacs. Я думаю, режим зла заслуживает своего названия, потому что это настоящее зло. Это убийственная функция, благодаря которой люди легко и безболезненно переходят с Vim на Emacs.

Evil-mode — это дорога от Vim к Emacs.

Переключение требует затрат, но я думаю, что это стоит того. На перенастройку функций, которые у вас были раньше, уходит несколько дней. Злой режим — это серьезно. Это идеальная эмуляция Vim, которую я когда-либо видел. Не думайте, что он реализует только hjkl и забудьте о режиме эмуляции Sublime Vim. Почти все, что вы делали с Vim, работает в зловещем режиме (кроме фолда, удачи, вам нужна дополнительная работа).

Вместо того, чтобы манипулировать кучей причудливых программ и терминалом с бесконечным сочетанием клавиш Alt+Tab, Emacs предоставляет плагин, и вот несколько примеров.

  • REPL, попрощайся с терминалом. REPL хорош для изучения новых вещей. Зачем нам нужно набирать консоль и копировать ее в наш скрипт? Вы можете иметь ключ vim, оценивать строки и получать результат в Emacs.
  • Eshell, ansi-term для эмулятора терминала
  • Auctex для компиляции латекса, управления библиографией и предварительного просмотра
  • Организационный режим для создания заметок (можно экспортировать в латекс и html)
  • ESS for R, альтернатива среде R studio
  • Magit для git

Они объективно сильны. Если вы серьезно относитесь к расширяемости, я могу сказать вам, что Elisp, язык настройки Emacs, проще. Рабочий процесс с Elisp просто идеален: поиск определений, REPL и так далее. См. версию Elisp для изучения X за Y минут: https://learnxinyminutes.com/docs/elisp/

TLDR;

Никто не хочет рубить дерево ножом и никто не хочет чистить яблоко электропилой.

Если вы работаете с конкретными вещами, такими как Swift от Apple, выбирайте их IDE.

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

Если вы чувствуете, что чего-то не хватает, и вы тратите большую часть времени на тривиальные вещи, такие как ручной поиск-замена в файле или ручное прыгание, чтобы найти файл, рассмотрите более мощный текстовый редактор, такой как Vim или Emacs.

Если вы пользователь vim и не можете разобраться в скрипте vim, добро пожаловать в Emacs Emacs Evil-Mode.

Лучший !