Шпаргалка https://rigovanov.ru/vim/
Перемещение по горизонтали
`w` - перемещение по словам вперед
`b` - перемещение по словам назад
`f + character` - перемещение на character после курсора `;` - к следующему символу `,` - к предыдущему
`F + charcter` - перемещение на character до курсора `;` - к предыдущему символу `,` - к сдедующему
`t + character` и `T + character` - тоже самое, только перемещает на символ перед character
Перемещение по вертикали
`ctrl + d` - листает на пол страницы вниз
`ctrl + u` - листает на пол страницы вверх
`/{pattern}` - находит pattern, `n` - переходит к следующему pattern, `N` - к предыдущему
`?{pattern}` - в обратном направлении
`{`, `}` - по абзацам
`gg` - в начало документа
Переход в режим вставки
`a` - append, перемещает курсор на одну позицию вправо и переходит в режим вставки
`A` - тоже самое, только переходит в конец строки
Удаление символов
`df + character` - удалить все символы включая character
`dе + character` - удалить все символы не включая character
`d/hello` - удалить все символы до первого вхождения `hello`
`dG` - удалить все символы с текущего положения курсора и до конца документа
`cw` - удалить слово и перейти в режим вставки
Операторы
`c` - change
`d` - delete
`y` - yank (copy)
`p` - paste
= - format
`g~` - toggle case
Команды ex
`:e!` - стереть все изменения и заново открыть файл
`:syntax on` - включить подсветку синтаксиса
Настройки
```bash
set expandtab - пробелы вместо табуляции
set colorcolumn=79 - горизонтальная полоса для форматирования кода
```
Копирование/вставка
`yy` - копировать строку, включая символ новой строки
Плагины
```bash
$ mkdir ~/.vim/bundle
$ cd ~/.vim/bundle
$ git clone https://github.com/VundleVim/Vundle.vim.git
```
```bash
set list lcs=tab:>\ ,space:.
```