Думаю, многие из вас уже сталкивались с 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) и переходит в режим Insert
- ciw- тоже самое что- 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- перевести курсор вниз на половину экрана


Комментарии