У меня также были проблемы с пониманием того, почему люди выбирают vim в качестве редактора, хотя я использовал его время от времени, пока я, наконец, не «понял». Я думаю, что большинство объяснений "почему?" не удается, потому что они не могут показать пару важных моментов. Чтобы объяснить эти моменты, сначала вам нужно понять, что в vim вы манипулируете текстом, в основном находясь в командном режиме. Т.е. по умолчанию ваши нажатия клавиш являются командами и обычно не вставляют текст, если только эти команды (такие как a ppend, i nsert, c hange) вставить режим. Это позволяет легко перемещаться по тексту и редактировать его, даже не касаясь мышью и не отводя рук от «позы редактирования».
Теперь ключевые моменты:
- Команды Vim делятся на существительные, глаголы и модификаторы.
- Редактирование выполняется путем их объединения.
И это то, что дает Виму силу. Чтобы проиллюстрировать это, вот несколько наиболее часто используемых команд:
- Существительные: w ord, s интенсивность, b блокировка, кавычки и фигурные скобки.
- Глаголы: c change, i nsert, v isual, d elete
- Модификаторы: i nside, a round, t ill
И чтобы проиллюстрировать, как их можно смешать:
- Хотите изменить слово? с ш
- То же самое, но курсор в середине слова? с а ш
- Изменить текст внутри кавычек? c i ", также изменить кавычки? c a "
- Удалить тело функции? * +1078 * д г * ** 1082 тысяча восемьдесят один * {* +1084 *
- Удалить до первой запятой? * 1 086 * д * ** +1088 одна тысяча восемьдесят-семь * T ,
- Удалить до второй запятой? * 1 094 * д * +1096 * 2 * +1098 * T * ** 1100 тысяча девяносто-девять *, * +1102 *
- Перейти к первой запятой? т
- Выберите слово? v я ш
Также обратите внимание, как все команды красиво переводятся на естественный язык:
- d elete w ord
- c Хэндж i nside {
В vim, если вы выучите новый глагол, существительное или модификатор, вы можете легко смешивать и сочетать с тем, что вы уже знаете. Поэтому, изучая только одну вещь, вы учитесь делать много разных вещей.
Еще одна замечательная вещь - vim запоминает, какие команды вы использовали, и вы можете повторить последовательность, просто нажав . . Для этого поста мне пришлось окружить много букв тегом . Но я сделал это только один раз, а затем просто просмотрел каждую букву и нажал . .
И это в основном то, что вам "нужно", чтобы понять силу vim и стать опытным пользователем за одну ночь.
P.S. если вам не нравится vim, потому что он основан на консоли и вам нужен современный текстовый редактор, тогда я предлагаю заглянуть в Sublime Text editor, который является отличным редактором и также поддерживает режим vim.
P.S.2. Я также рекомендую сопоставить Esc ключ с j j и k k , что значительно облегчает работу .