ви/вим Дафа хороший. vim — это обновленная версия vi, она не только совместима со всеми инструкциями vi, но и добавляет некоторые новые функции.
vi filename
vim filename
2 команды эквивалентны
Нормальная операция
Заказ | инструкция |
---|---|
x | удалить символ под курсором |
X | удалить символ слева от курсора |
s | Изменить символ (отличие от r, сразу после модификации войти в режим вставки) |
i | Вставить символ перед курсором |
a | Вставить символ после курсора |
A | Вставить символ в конце строки |
o | Создайте новую строку под курсором и войдите в режим вставки |
О (буква) | Создайте новую строку над курсором и войдите в режим вставки. |
r | замещающий персонаж (одиночный) |
R | замещающий символ(ы) |
cw | Заменить текст до конца слова (ce тоже работает) |
c$ | Заменить текст до конца строки |
dw | удалить слово (de, d2w) |
d$ | удалить до конца строки |
D | удалить до конца строки |
S | Удалить в поведение и войти в режим вставки |
dd | удалить всю строку |
y | копировать |
yy | Скопировать всю строку (yw, ye) |
p | вставить после курсора |
P | вставить перед курсором |
u | отозвать |
. | Повторить последнее действие |
:! | выполнить внешнее имя (:!dir/:ls) |
% | Найдите совпадающие скобки ), }, ] |
v motion :w | выборочное сохранение |
Ctrl + D | Посмотреть возможные завершения |
движение курсора
Заказ | инструкция |
---|---|
h | Левый |
l | правильно |
k | начальство |
j | Вниз |
0 (число) | начало строки |
$ | конец линии |
w | начало следующего слова |
nw (2w) | n может быть числом, что означает перемещение двух слов |
e | конец слова (отличие от w) |
gg | начало файла |
G | в конце файла |
покидать
Заказ | инструкция |
---|---|
:wq | Сохранить и выйти |
ZZ | Сохранить и выйти |
:q! | Отменить изменения и выйти (q для выхода, если есть изменения, q не может выйти) |
:e! | Отменить изменения и открыть исходный файл |
найти и заменить
Заказ | инструкция |
---|---|
:s/old/new/g | Найти старое и заменить новым, g означает соответствие всей строке |
:#, #s/old/new | #, #представляет номера первой и последней строки |
:%s/old/new/g | полное текстовое соответствие заменить |
:%s/old/new/gc | Полное сопоставление текста и замена, и каждая замена будет отображать запрос на подтверждение. |
переворачивать страницы
Заказ | инструкция |
---|---|
Ctrl + e | прокрутить вниз на одну строку |
Ctrl + y | прокрутить вверх на одну строку |
Ctrl + f | листать вниз |
Ctrl + b | страница вверх |
Ctrl + u | половина страницы вверх |
Ctrl + d | полстраницы вниз |
файловые операции
Заказ | инструкция |
---|---|
:e + filename | Открыть новый файл |
:r + filename | Прочитать файл и вставить в текущий файл |
настройки параметров
Заказ | инструкция |
---|---|
:set ic | игнорировать регистр |
:set is | Частичное совпадение (вроде) |
:set hls | выделить совпадение |
:set nu | показать номер строки |
Запустить vim на разделенном экране
Заказ | инструкция |
---|---|
vim -on file1 file2... | Горизонтальный разделенный экран |
vim -On file1 file2... | вертикальный разделенный экран |
Отключить разделенный экран
Заказ | инструкция |
---|---|
Ctrl + w c | Закрыть текущее окно (если оно последнее, его нельзя закрыть) |
Ctrl + w q | закрыть текущее окно (если оно последнее, выйти из vim) |
Разделенный экран
Заказ | инструкция |
---|---|
Ctrl + w s | Разделить экран вверх и вниз |
Ctrl + w v | Разделить экран влево и вправо |
:sp filename | Разделить экран влево и вправо и открыть новый файл |
:vsp filename | Разделите экран вверх и вниз и откройте новый файл |
Переключить разделенный экран (курсорное переключение)
Заказ | инструкция |
---|---|
Ctrl + w l | правильно |
Ctrl + w h | левый |
Ctrl + w j | верхняя |
Ctrl + w k | ниже |
Настройка размера разделенного экрана
СОВЕТЫ: (действует разделение экрана вверх и вниз)
Заказ | инструкция |
---|---|
Ctrl + w = | Все экраны одинаковой высоты |
Ctrl + w + | Увеличить высоту |
Ctrl + w - | уменьшить высоту |