Схема работы vim
Выполняется из командного режима.
Изменение режима
Команда | Описание |
---|---|
i | Переход в режим вставки (insert) |
I | Переход в режим вставки с начала строки (shift+i) |
a | Курсор вправо на 1 символ и переход режим вставки (Add) |
A | Переход в режим вставки с конца строки (shift+a) |
o | Переход в режим вставки с новой строки |
O | Переход в режим вставки с новой строки над текущей (shift+o) |
x | Удаление символа под курсором (eXclude) |
r | Замена символа под курсором (Replace) |
v | Переход в режим визуального выделения |
V | Переход в режим визуального выделения строк |
Esc | Переход в командный режим из любого режима |
Навигация
Команда | Описание |
---|---|
h j k l | влево вниз вверх вправо |
w | К началу следующего слова (word) |
e | К концу следующего слова (end) |
b | К началу слова (begin) |
ge | К концу предыдущего слова (go to the end) |
^ | К началу текущей строки |
$ | К концу текущей строки |
( ) | К началу и концу предложения |
{ } | К началу и концу абзаца |
1G G | К началу и концу файла |
Манипуляция с текстом
Команда | Описание |
---|---|
u | Отменить изменения |
daw | Удалить слово (delete a word) |
das | Удалить предложение (delete a sentence) |
dap | Удалить абзац (delete a paragraph) |
dG | Удалить содержимое файла от текущего положения курсора до конца |
d1G | Удалить содержимое файла от текущего положения курсора до начала |
dd | Вырезать строку в буфер |
dw | Вырезать слово в буфер |
dl | Вырезать символ в буфер |
yy | Копировать строку в буфер |
yw | Копировать слово в буфер |
yl | Копировать символ в буфер |
caw | Изменить слово (change a word) |
cas | Изменить предложение (change a sentence) |
cap | Изменить абзац (change a paragraph) |
ctx | Заменить всё до первого символа х в текущей строке (change till x) |
c$ | Заменить всё до конца строки |
ci( | Заменить всё между символами скобок |
ci" | Заменить всё между символами кавычек |
d( или y( | Вырезать или скопировать текст от текущего положения курсора до начала предложения |
d) или y) | Вырезать или скопировать текст от текущего положения курсора до конца предложения |
d{ или y{ | Вырезать или скопировать текст от текущего положения курсора до начала абзаца |
d} или y} | Вырезать или скопировать текст от текущего положения курсора до конца абзаца |
d^ или y^ | Вырезать или скопировать текст от текущего положения курсора до начала строки |
d$ или y$ | Вырезать или скопировать текст от текущего положения курсора до конца строки |
p | Вставить строку из буфера |
Для того, чтобы вырезать или скопировать произвольный текст нужно перейти в режим выделения с помощью v, выделить необходимый текст, нажать d для вырезки текста или y для копирования выделенного текста. Для вставки нажать p.
Расширенные команды
Команда | Описание |
---|---|
:wq или ZZ или :x | Сохранить и выйти |
:wq! | Сохранить и выйти даже если права только на чтение, но текущий пользователь является владельцем или root |
:q! или ZQ | Выйти без сохранения |
:e! | Отменить изменения произошедшие с открытия файла |
Поиск
Нужно нажать /, затем ввести строку, которую нужно найти в тексте, например /text и нажать Enter
По умолчанию поиск осуществляется в регистрозависимом режиме. Если нужно искать независимо от регистра - добавляется сочетание \c, например: /text\c или /\ctext
Символ / осуществляет поиск вниз от курсора, а символ ? осуществляет поиск вверх от курсора
Для продолжения поиска используются клавиши: n - продолжить поиск выше по тексту, N - продолжить поиск ниже по тексту