ви/вим Дафа хороший. 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 - | уменьшить высоту |