Самые необходимые команды редактора VIM


ctrl + c вместо Esc

d3d y3y - строки
d3w y3w - слова
d3l y3l - символы

d3l - удалить 3 символа
y3l - скопировать 3 символа

gd - перейти от места использования переменной к её локальному объявлению

di" - удалить внутри кавычек
dit - удалить содержимое внутри тега
daw - удалить всё слово (независимо от того, в какой части слова стоит курсор)

vim -o 01.txt 02.txt 03.txt - откроет с разделением экрана 3 файла (горизонтально)
vim -O 01.txt 02.txt 03.txt - откроет с разделением экрана 3 файла (вертикально)

:qall выйти из всех окон
:wall сохранить во всех окнах
:wqall сохранить и выйти из всех окон
:qall! выйти из всех окон несмотря на изменения

:!ls - выполнить команду в оболочке

shift + i - добавить в начале строки
shift + a - добавить в конце строки

vim +200 text.txt - открыть файл и сразу перейти к строке 200

ctrl + d - перемещение вниз по документу
ctrl + u - перемещение вверх по документу
gg - на первую строку
shift + g - на последнюю строку
20gg - на строку 20

f<символ> - переместиться на ближайший символ f, - к запятой, fk - к букве k

r<символ> - замена символа под курсором на указанный символ
shift + R - режим замены (insert-режим)

:set number - включить нумерацию строк
:set nonumber - отключить нумерацию строк

e - перемещение в конец слова
b - перемещение в начало слова

^ - переместиться в начало строки
$ - переместиться в конец строки
x - удалить символ под курсором
dw - удалить слово (от курсора до пробела или конца строки)
dd - удалить текущую строку
d$ - удалить символы от курсора до конца строки
J - слить следующую строку с текущей (удалить перевод строки)
i - начать ввод текста с позиции перед текущим симоволом (insert)
a - начать ввод текста после текущего симовола (append)
o - вставить пустую строку после текущей и начать ввод текста
O - то же, но строка вставляется перед текущей
. - повторить последнюю команду
u - отменить последнюю команду
U - отменить все изменения внесённые в текущую строку
h - влево, j - вниз, k - наверх, l - вправо
:qa! - выход без сохранения изменений
vim file.txt - откроет и создаст файл, если его нет
Esc - выход из режима ввода в режим команд

/ Enter - поиск слова
/ Enter - повторный поиск
? Enter - поиск в обратном направлении

:w - сохранить редактируемый файл
:w  - записать файл под новым именем 
:w! - сохранить, игнорируя (по возможности) флаг readonly 
:wq - сохранить и выйти из vim 
:q - выйти из vim 
:q! - выйти из vim без сохранения, сбросив сделанные изменения
:r  - прочитать содержимое файла name.txt и вставить его в редактируемый текст
:e  - начать редактирование ещё одного файла
:ls - показать список редактируемых файлов (активных буферов)
:b  - перейти к буферу номер 
:245 - перейти на строку (в примере 245 строка) - или 245gg
ctrl + ^ - переход между редактируемыми файлами

V - выделение блока из целых строк
v - выделение блока из произвольного количества символов (границы задаются клавишами: h, j, k, l)

Комментирование:
шаг 1. визуальный режим: Shift + v - построчное выделение строк
шаг 2. командный режим: :'<,'>s/^/#/ - комментирование выделенных строк.

d - удалить выделенный блок
y - скопировать выделенный блок
(d, y - помещает текст в специальный буфер)

p - вставить содержимое буфера (после курсора)
P - перед курсором

Все удаляющие команды помещают текст в буфер (x, dd, dw, d$, и т.п.)

yy - копировать строку
yw - копировать слово под курсором
y$ - копировать от курсора до конца строки

:%s/foo/bar/gi - заменить foo на bar (замена текста в файле)

:syntax on - включить подсветку кода
:syntax off - выключить подсветку кода

:set wrap - перенос строк
:set nowrap - запретить перенос строк

8 i foo Esc - создаст 8 копий введённого текста (8 - это для примера)

vip - выделить параграф
viw - выделить слово
vi( - выделить всё между ближайшими круглыми скобками, аналогично vi" - кавычки, vi{
va( - выделить всё между ближайшими круглыми скобками, включая сами скобки, аналогично va" - кавычки, va{
v2j - выделить на две строки вниз

vit - выделить то, что между тегами
vat - выделить вместе с тегами, выделится вся конструкция вместе с тегами

dip - вырезать параграф
di( - вырезать содержимое круглых скобок
da( - вырезать содержимое круглых скобок и сами скобки
y2y - скопировать две строки
yiw - скопировать слово
vt, - выделить всё до ближайшей запятой (или любого символа, который указать)

5dd - удалить 5 строк (или любое другое число)

"add - вырезать строку в буфер a
"ap - вставить из буфера a

5j - переместиться на 5 строк вниз

cw - заменить слово
c2w - заменить 2 слова
cl - заменить символ
c4l - заменить 4 символа
с$ - заменить всё до конца строки

g~~ - инвертировать регистр (без «g» применяется к символу под курсором)

( - начало предложения
) - конец предложения
{ - начало абзаца
} - конец абзаца

>> - увеличить отступ
<< - уменьшить отступ

gggqG - заставляет Vim переформатировать весь текст

:sh - открыть терминал (после выхода ctrl+d происходит возврат обратно в редактор)

Макросы:
qa - начать запись в регистр a
q - закончить запись
@a - воспроизвести запись из регистра a

:split (или :sp)
:vsplit (или :vsp) - ещё одно окно рядом
ctrl + w ctrl + w - перейти на следующее окно

:split или Ctrl+w s — добавляет в сессию Vim горизонтальное окно
:vsplit или Ctrl+w v — добавляет в сессию Vim вертикально окно
:split filename  — добавляет в сессию Vim горизонтальное окно и загружает в него filename
:vsplit filename  — добавляет в сессию Vim вертикальное окно и загружает в него filename
Ctrl+w h — переключает на левое окно, относительно текущего
Ctrl+w l — переключает на правое окно, относительно текущего
Ctrl+w j — переключает на нижнее окно, относительно текущего
Ctrl+w k — переключает на верхнее окно, относительно текущего
Ctrl+w Ctrl+w — переключает на следующее окно
Ctrl+w r — передвигает окна по часовой стрелке
Ctrl+w R — передвигает окна против часовой стрелки
Ctrl+w c — закрывает текущее окно

Открыть файлы во вкладках
$ vim -p filename1 filename2 filename3

Открыть файл во вкладке
:tabnew filename

Команда gt переключит на следующую вкладку, а команда gT — на предыдущую.

w - следующее слово
b - предыдущее слово
0 - начало строки
$ - конец строки

H - в верхний левый угол экрана
M - на первый символ середины экрана
L - правый нижний угол (последняя строка на экране)

dL - удалить с текущей строки до нижней строки экрана
dH - удалить с текущей строки до верхней строки экрана
Полезно будет ещё пройти vimtutor, прочитать http://www.moolenaar.net/habits_ru.html Ещё: http://zzapper.co.uk/vimtips.html https://ru.stackoverflow.com/search?q=vim http://gnu.su/plugins/forum/forum_viewtopic.php?803.last http://wiki.solab.rshu.ru/Vim_%D1%83%D1%87%D0%B5%D0%B1%D0%BD%D0%B8%D0%BA
Поделиться
Отправить
Популярное