Эта статья предназначена для программистов, которые используют код Visual Studio и прочее.

Итак, сегодня у меня есть задание от моего пользователя (моего менеджера по персоналу) узнать о VIM, что означает Vi Improved. Это форма текстового редактора, которую вы можете использовать для редактирования чего угодно через терминал, что-то вроде кода Visual Studio. Я узнал о Vim более или менее во время моего короткого двухлетнего путешествия, используя git и другие вещи, но у меня никогда не было никакого образования по этому поводу. Сначала я не понимаю, почему люди используют этот не очень популярный текстовый редактор в терминале в качестве повседневного текстового редактора? Почему бы им не использовать код Visual Studio или более популярные варианты. Оказалось, что использование vim дает много преимуществ, и я постараюсь объяснить это как новичок, насколько смогу.

Почему вы должны использовать Vim?

Итак, прежде всего, мы должны согласиться с тем, что оставлять клавиатуру и использовать мышь — нежелательное поведение для программирования, верно? Представьте, если бы навигация по коду и материалам была бы быстрой и простой и выполнялась бы только с помощью горячих клавиш. По сути, это то, что делает vim.

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

Кроме того, я кратко упомянул о git во введении, и если вы часто используете github через терминал (что вам и следует делать), вы могли бы получить серьезную пользу от изучения vim, поскольку редактирование коммитов github, перебазирование и т. д. по умолчанию выполняется с помощью vim.

Наконец, Vim предназначен для повышения производительности программиста. Это означает, что многие функции vim предназначены для облегчения написания кода. Например, в vim есть функция, позволяющая повторять команду несколько раз. Если вы хотите скопировать этот элемент списка в HTML 5 раз, вы можете сделать это, набрав yy5p, что не имеет смысла, но действительно повышает скорость вашего программирования, потому что это всего четыре символа по сравнению с выбором строки , ctrl+c и ctrl+v пять раз. Так что я надеюсь, что к настоящему времени вы больше заинтересованы в изучении vim и присоединитесь ко мне для следующего шага!

Режимы в Vim

В vim есть два режима: командный режим и режим вставки. Когда вы впервые входите в vim, вы входите в командный режим, в котором вы можете вводить команды, такие как команда yy5p ранее. Другой режим - это режим вставки, в котором вы можете нормально печатать внутри файла. Чтобы переключиться между режимами, вам нужно ввести esc, чтобы войти в командный режим, и i, чтобы войти в режим вставки (когда вы находитесь в командном режиме).

Так, например, у вас есть файл с именем poem.txt, и он состоит из стихотворения, и вы хотите его отредактировать. Что вы должны сделать?

Во-первых, установите vim, если у вас его нет

Затем введите vim poem.txt , представления должны быть такими:

Затем введите i, чтобы войти в режим вставки, вид должен быть таким:

Затем давайте добавим строку, набрав, как обычно в любом редакторе кода (перейти к концу строки, ввести) и добавить «но должны ли вы?» в последней строке

Теперь введите escape, чтобы войти в командный режим, и введите :wq. Это двоеточие означает, что далее следует «команда ex» (более или менее выполняющая административная задача), w означает запись, а q означает выход. Таким образом, это означает, что вы выходите, а затем сохраняете текущий файл. Теперь, если вы снова откроете файл, содержимое должно было измениться.

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

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

Основные команды Vim

помните: эти команды можно выполнять только в командном режиме

Команды навигации:

h -> move left
j -> move down
k -> move up
l -> move right

Дополнительные команды навигации

w -> move to the beginning of the next word
b -> move to the beginning of the previous word

Полезные команды

dd -> delete an entire line
o -> insert a newline after this row and go to insert mode
y -> copy a selection
yy -> copy an entire line
p -> paste

Повторить команды

any numbers followed by command -> will repeat the command several times
For example:
5h -> go 5 character to the left
5dd -> delete 5 lines
etc.

Сегодня я также узнал о визуальном режиме v , который позволяет вам выбирать более одного символа и делать с ним различные действия, такие как копирование и т. д.

Дальнейшее рассмотрение

Сначала я немного скептически отношусь к тому, как это можно сравнить с vscode. Я имею в виду, что я могу использовать vscode для выполнения команд, используемых в vim. Но после прочтения нескольких статей я убедился в том, что нужно использовать расширение vim с vscode, так как vim облегчает набор текста рукой, а vscode также дает ощущение IDE переименования переменных, расширений, более чистого пользовательского интерфейса / UX и т. д. Мое мнение может измениться позже хотя так не верьте мне на слово.

Кредиты

Я хочу выразить благодарность: