Думаю, многие из вас уже сталкивались с vim. Vim - это текстовый редактор для linux-based систем.
По моему личному усмотрению большинство пользователей vim делятся на 2 типа:
- Я его поставил, что-то он какой-то сложный. Я даже не смог сохранить изменения в файле.
- Да нет там ничего сложного. Правда из всего что я знаю это сохранить изменения, закрыть документ и осуществить поиск.
И да вы можете сказать, что навыков 2 типа вполне хватает для работы. И в 80% случаев применения vim вы будете правы.
Но что можно сказать об остальных 20%? А вот что:
- Эти 20% в основном выпадают на срочные задачи (когда у вас что-то поломалось). Допустим вам надо перейти на определённую строку в файле, и вы не знаете, как это сделать, и тупо считаете строчки.
- Как правило из-за незнания всех возможностей vim манипуляция с этими 20% занимают долгое время.
В этой статье мы поговорим о плагинах, горячих клавишах и т.д.
Люди говорят, что стать гуру vim практически не реально, но обязательно стоит попробовать.
Запуск vim
Для запуска vim вбиваем vim. После чего нас встречает окно с описанием базовых команд и другой информацией о vim.

Режимы vim
-
Режим Normal По у молчания vim открывается именно в этом режиме. В этом режиме вы можете править документ (например, удалять строки двойным нажатием клавиши
d). И можете передвигаться по документу используя клавиатуру. Также вы переходите их этого режима во все остальные. -
Режим Insert Находясь в нормальном режиме нажимаем клавишу
iи переходим в режим Insert. Об этом нас оповещает надпись--INSERT--в левом нижнем углу.В этом режиме вы можете писать текст.
Для того чтобы выйти из режима Insert и перейти в режим Normal нажимаем
ESCилиCTRL+c. -
Режим Visual В этом режиме вы можете выделять контент и производить с ним манипуляции. Вы можете изменить, отредактировать или скопировать свой выделенный текст.
Для перехода в этот режим находясь в режиме Normal нажимаем клавишу
v.Если вы хотите выделить всю строку целиком находясь в режиме Normal нажмите на клавиатуре
SHIFT+v. -
Режим Command-Line Находясь в этом режиме, вы можете выполнять команды vim.
Для перехода в этот режим необходимо ввести
:в режиме Normal и ваш курсор автоматически окажется внизу.Небольшой список команд, которые вы можете использовать:
- :help - как понятно из названия выводит справку (например вы можете получить помощь по режимам :help vim-modes)
- :q - выход из vim (только если нет изменений)
- :q! - выход из vim и отмена всех изменений в документе
- :w - сохранить все изменения в документе
- :wq - сохранить изменения и выйти из vim
- :e - даёт возможность открыть документ по абсолютному пути (т.е вбиваете путь к документу, который хотите открыть)
Поиск по документу
Для поиска слов в документе находясь в режиме Normal вбиваем / после чего курсор перемещается в низ редактора, где вы уже пишите интересующее вас слово и нажимаете ENTER.
Для того чтобы перейти к следующему совпадению в документе нажимаем n, а для предыдущего N.
Для получения справки по поиску можно воспользоваться :help search-commands.
Отмена изменений (Undo)
Для того чтобы отменить выполненные изменения находясь в режиме Normal нажимаем u, для того чтобы вернуть изменения нажимаем CTRL+r.
Для получения справки можно воспользоваться :help undo-redo.
Команды режима Insert
Для входа в режим Insert вы также можете использовать и другие клавиши, а именно:
a- перейти в режим Insert и поместить курсор после текущего символаA- перейти в режим Insert и поместить курсор в конец строкиo- перейти в режим Insert и поместить курсор на строку нижеO- перейти в режим Insert и поместить курсор на строку выше при этом имитируя нажатиеENTER(новая строка)
Операторы и текстовые поля
Операторы - это глаголы языка Vim. Выполняют манипуляции с текстом, вот некоторые из них:
d- в комбинации со стрелками удаляет символ слева или справаdiw- удалит всё словоdip- удаляет весь параграфc- удаляет выделенный фрагмент (в режиме Visual) и переходит в режим Insertciw- тоже самое чтоc, только со словомy- копирует выделенное (в режиме Visual)yy- скопировать строкуp- вставить скопированноеd$- удалить всё с начала курсора до конца строкиdgg- удалить всё с начала курсора до начала строкиggdG- удалить всё в файле
Для просмотра справки можно воспользоваться :help operator и :help text-objects.
Перемещение курсора
Вроде бы всё понятно просто двигаешь курсор стрелочками на клавиатуре.
А что если вы точно знаете, что хотите переместить курсор на 5 строк ниже? А всё так же просто нажимаете цифру 5и потом стрелочку вниз. В итоге окажетесь на 5 строк ниже (также работает и с другими стрелками).
Вы также можете использовать клавиши h, j, k и l вместо стрелок для перемещения курсора соответственно влево, вниз, вверх и вправо.
Также вы можете использовать следующие клавиши:
w- переход ко следующему слову. Если в строке одно слово, то переходит на новую строкуb- переход к предыдущему слову. Если в строке одно слово, то переходит на строку вверх0- переход в начало строкиˆ- переход к первому непустому символу в строке (т.е отсекает пробелы в начале строки)$- переход в конец строки%- если курсор находится на открывающей скобке перемещает его на закрывающую скобкуG- перейти в конец документа. Может использоваться для перехода на определенную строку, например,10Gпереведёт курсор на 10 строку.gg- перевести курсор в начало документаCTRL+e- прокрутить окно внизCTRL+u- перевести курсор вверх на половину экранаCTRL+d- перевести курсор вниз на половину экрана


Комментарии