Vim: полезные команды

Автор: | 03/05/2014

vim-logo
Давно было желание собрать все наиболее полезные команды 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: история команд;
. повторение последней команды;