
Давно было желание собрать все наиболее полезные команды Vim в одном месте, и рассортировать их.
Получилась такая вот таблица. Можно экспортировать в PDF и повесить на стенку 🙂
|
Содержание Добавление текста в Vim |
|
|---|---|
| i | вставка с текущей позиции; |
| I | вставка с начала строки; |
| a | вставка со следующей позиции; |
| A | вставка с конца строки; |
| o | вставка со следующей строки; |
| O | вставка с предыдущей строки; |
| p | вставить из буфера обмена; |
| R | перезаписать текущий текст под курсором; |
| Ctrl+p | режим автодополнения текста; |
| Ctrl+n | режим автодополнения текста; |
Отмена действий в Vim |
|
| u | отмена последнего действия; |
| Ctrl+r | отмена последней отмены; |
Удаление текста в Vim |
|
| dd | удалить строку и остаться в командном режиме; |
| cc | удалить строку и перейти в режим редактирования; |
| xd | удалить x строк; |
| dw | удалить текст от курсора до конца слова; |
| cw | удалить текст от курсора до конца слова и перейти в режим редактирования; |
Копирование текста в Vim |
|
| y | скопировать выделенный текст в буфер обмена; |
| yy | копировать всю строку в буфер обмена; |
| xy | скопировать x строк; |
Перемещение по тексту в Vim |
|
| h, j, k, l | влево, вниз, вверх, вправо соответственно (или стрелочки); |
| :x | перейти на строку x; |
| % | перейти к парной скобке; |
| CTR+y | перемещение по странице вверх без смещения курсора; |
| CTR+e | перемещение по странице вниз без смещения курсора; |
Сохранение текста, выход в Vim |
|
| :w | сохранить изменения в файле; |
| :wa | сохранить изменения во всех файлах; |
| :wq | сохранить изменения в файле и выйти; |
| :q | выйти из редактора/закрыть вкладку; |
| :q! | выйти без сохранения; |
Выделение текста в Vim |
|
| v + hjkl | выделение текста; |
| Shift+v | выделить строку; |
| Ctrl+v | выделение прямоугольником; |
Смещение текста в Vim |
|
| Shift+>> | сдвинуть строку вправо; |
| Shift+<< | сдвинуть строку влево; |
Поиск текста в Vim |
|
| /что_ищем | поиск текста в файле; |
| n | следующее совпадение; |
| N | предыдущее совпадение; |
Замена текста в Vim |
|
| :%s/foo/bar/g | заменить все foo на bar во всём файле; |
| :4,10s/foo/bar/g | заменить все foo на bar в строках с 4 по 10; |
| :4,10s/foo/bar | заменить только первое вхождение foo в строках с 4 по 10; |
| :%s/foo/bar/c | заменить все foo на bar во всём файле и каждый раз спрашивать подтверждение; |
Нумерация строк в Vim |
|
| :set number | включить нумерацию строк; |
| :set nonumber | отключить нумерацию строк; |
Вкладки в Vim |
|
| vim -p файл.1 файл.2 | запустить vim и открыть во вкладках файлы файл.1 и файл.2; |
| :tabnew имя | создать вкладку с заголовком имя; |
| :tabs | вывести список вкладок; |
| :tabn | следующая вкладка; |
| :tabp | предыдущая вкладка; |
| gt | следующая вкладка; |
| gT | предыдущая вкладка; |
| xgt | перейти на вкладку x; |
Подсветка синтаксиса в Vim |
|
| :syntax on | включить подсветку синтаксиса; |
| :syntax off | выключить подсветку синтаксиса; |
Маркеры в Vim |
|
| ma | установить локальный маркер a; |
| mB | установить глобальный маркер B; |
| `c | перейти к локальному маркеру c; |
| `0 | вернуться на позицию, на которой закончили работу при закрытии vim; |
| :marks | просмотр маркеров; |
Другие полезные команды в Vim |
|
| :color схема | изменить цветовую схему (схемы лежат в /usr/local/share/vim/vim*/colors/) |
| :pwd | вывести текущий каталог; |
| :!команда | выполнить команду (указывайте полный путь, например — :!/sbin/ifconfig); |
| :set list | отобразить символы табуляции и перевода строк; |
| q: | история команд; |
| . | повторение последней команды; |