Общее
- :help keyword - открыть помощь для keyword
- :saveas file - сохранить как file
- :close - закрыть текущую панель
- K - открыть справочное руководство для слова под курсором
Перемещение курсора
- h - передвинуть курсор влево
- j - передвинуть курсор вниз
- k - передвинуть курсор вверх
- l - передвинуть курсор вправо
- H - переместиться к началу экрана
- M - переместиться к середине экрана
- L - переместиться к концу экрана
- w - переместиться вперед на начало слова
- W - переместиться вперед на начало слова (слово может содержать пунктуацию)
- e - переместиться вперед на конец слова
- E - переместиться вперед на конец слова (слово может содержать пунктуацию)
- b - переместиться назад на начало слова
- B - переместиться назад на начало слова (слово может содержать пунктуацию)
- % - move to matching character (default supported pairs: '()', '{}', '[]' - use
:h matchpairs
in vim for more info)
- 0 - переместиться на начало строки
- ^ - переместиться на первый непробельный символ строки
- $ - переместиться на конец строки
- g_ - переместиться к последнему непустому символу в строке
- gg - переместиться на первую строку документа
- G - переместиться на последнюю строку документа
- 5G - переместить на пятую строку
- fx - переместиться к следующему вхождению символа x
- tx - переместиться перед следующим вхождением символа x
- Fx - jump to previous occurence of character x
- Tx - jump to after previous occurence of character x
- ; - repeat previous f, t, F or T movement
- , - repeat previous f, t, F or T movement, backwards
- } - переместиться к следующему параграфу (или функции/блоку при редактировании кода)
- { - переместиться к предыдущему параграфу (или функции/блоку при редактировании кода)
- zz - center cursor on screen
- Ctrl + e - move screen down one line (without moving cursor)
- Ctrl + y - move screen up one line (without moving cursor)
- Ctrl + b - переместиться назад на целый экран
- Ctrl + f - переместиться вперед на целый экран
- Ctrl + d - переместиться вперед на половину экрана
- Ctrl + u - переместиться назад на половину экрана
Tip Добавьте число перед командой перемещения курсора для того, чтобы повторить её. Например, 4j перемещает курсор на 4 строки вниз.
Режим вставки - вставка/добавление текста
- i - вставка перед курсором
- I - вставка в начало строки
- a - вставка (добавление) после курсора
- A - вставка (добавление) в конец строки
- o - добавление новой строки под текущей
- O - добавление новой строки над текущей
- ea - вставка (добавление) после конца слова
- Esc - выход из режима вставки
Редактирование
- r - заменить один символ
- J - присоединить нижнюю строку к текущей
- gJ - join line below to the current one without space in between
- gwip - reflow paragraph
- cc - заменить всю строку
- C - change (replace) to the end of the line
- c$ - заменить до конца строки
- ciw - change (replace) entire word
- cw - заменить до конца слова
- s - удалить символ и заменить текст
- S - удалить строку и заменить текст (то же что cc)
- xp - переставить две буквы (удалить и вставить)
- u - отменить
- Ctrl + r - повторить
- . - повторить последнюю команду
Выделение текста (визуальный режим)
- v - включить режим выделения текста, выделить строки, затем выполнить команду (например, y-копирование)
- V - включить построчный режим выделения
- o - переместиться на другой конец выделенной области
- Ctrl + v - включить режим выделения блоков
- O - переместить на другой угол блока
- aw - выделить слово
- ab - блок в ()
- aB - блок в {}
- ib - внутренний блок в ()
- iB - внутренний блок в {}
- Esc - выйти из режима выделения текста
Визуальные команды
- > - сместить текст вправо
- < - сместить текст влево
- y - скопировать выделенный текст
- d - удалить выделенный текст
- ~ - переключить регистр
Регистры
- :reg - показать содержимое регистров
- "xy - поместить содержимое в регистр x
- "xp - вставить содержимое регистра x
Tip Содержимое регистров сохраняется в ~/.viminfo, и будет восстановлено при следующем запуске vim.
Tip В нулевом регистре всегда хранится содержимое последней команды копирования.
Метки
- :marks - список меток
- ma - установить метку A на текущей позиции
- `a - переместиться к метке A
- y`a - скопировать до метки A
Макросы
- qa - записать макрос A
- q - остановить запись макроса
- @a - run macro a
- @@ - выполнить последний макрос