Это старая версия (1.3) РедакторVim.

Содержание

1. Режимы Vim

Vim поддерживает несколько режимов работы. Это означает что действие клавиш и их комбинаций различается в зависимости от того в каком режиме вы сейчас находитесь

Командный режим

Режим по умолчанию. Из него осуществляется переход в другие режимы и выполнение команд.

Клавиша перехода - ESC.

Все команды из разделов 2 - 10 выполняются из этого режима.

Режим ввода

Клавиши перехода:

  • i - ввод с текущего символа
  • a - ввод со следующего символа
  • o - ввод со следующей строки

Режим выделения

Клавиша перехода - v.

Режим замены

Клавиша перехода - R.

2. Работа с файлами и сессиями

:mksession - создать файл сессии (в файл Session.vim сохраняется информация о настройках и всех открытых файлах и буферах);

source Session.vim - загрузить файл сессии (все настройки и открытые в прошлый раз окна восстанавливаются);

:eFILE - открывает FILE на редактирование;

:w[FILE] - записывает сделанные изменения в открытый файл или FILE, если он указан;

:q - выход из vim. При :q! выход без записи сделанных изменений;

РЕМАРКА: - можно смешивать несколько команд в одну. Например - :wq!

3. Перемещение

влево / вниз / вверх / вправо h /j /k /l

РЕМАРКА: Удобство в том, что при такой раскладке пальцы всегда лежат на большинстве нужных клавишь и не нужно перемещать руку от букв к клавишам стрелок.

^ - в начало строки;

$ - в конец строки;

w - в начало следующего слова;

b - в начало предыдущего;

{NUM}gg - переход на {NUM} строку;

G - переход в конец файла.

4. Отмена действий

u - отменяет предыдущее действие. Может применяться несколько раз. Аналог комбинации ctrl + z;

ctrl + r отмена отмены предыдущего действия. Аналог комбинации ctrl + shift + z.

5. Поиск

/{regex} - поиск регулярного выражения {regex} в текущем файле от курсора к концу файла;

/{regex} - поиск регулярного выражения {regex} в текущем файле от курсора к началу файла;

n - найти следующее слово;

N - найти предыдущее слово;

f{letter} или F{letter} - перемещает курсор на следующую (или предыдущую если F) букву {letter} в текущей строке;

t{letter} или T{letter} - перемещает курсор за один символ до следующей (или предыдущей если T) буквы {letter} в текущей строке;

6. Редактирование

{NUM}dd - удаление {NUM} строк;

{NUM}cc - аналог dd, но после удаления переворит редактор в режим ввода;

{NUM}yy копирование {NUM} строк в буфер обмена;

p - вставка из буфера обмена в текущую позицию курсора;

x - удаление символа под курсором.

7. Пара слов о коммандном режиме

Можно относиться к командам vim как к предложениям.

Есть глаголы (например f, d, g) есть существительные (например w, буквы, числа).

Примеры составления предложений:

  • Delete till find 'b' (удалить всё до символа 'b') - dtfb
  • Mark from there to 22 line (выделить всё с текущего символа до 22 строки) - vg22g

8. Вызов внешних команд

:!cmd - вызывает shell команду cmd для обработки переданных данных. Если данных не передано показывает вывод команды на экран.

Пример:

:!ls - показывает файлы в текущей директории

:%wc -w - считает количество слов в файле

Делаем vim hex редактором:

%!xxd - конвертирует файл в хекс представление

%!xxd -r - конвертирует обратно

9. Прочие полезные команды

10. Путешествие по тегам

11. Файл настроек vimrc

12. Справка

13. Полезные дополнения vimrc

14. Плагины

15. Используемые источники