Основные команды vi
| Команды | Выполняемые функции |
|---|---|
| TERM=terminal_name export TERM | Установка конфигурации терминала |
| tput init | Инициализировать терминал как terminal_name |
| vi filename | Вызов редактора vi для редактирования файла filename |
| a | Добавить текст после курсора |
| h | Перемещает курсор на один символ влево |
| j | Перемещает курсор вниз на одну строку |
| k | Перемещает курсор вверх на одну строку |
| l | Перемещает курсор на один символ вправо |
| x | Удалить символ |
| Возврат каретки | |
| Перейти из режима ввода в командный режим | |
| :w | Записать в файл |
| :q | Завершить работу с редактором |
| :wq | Записать буфер в файл и завершить работу с редактором vi |
| ZZ | Записать изменения в файл и завершить работу с vi |
Команды позиционирования курсора
| Команда | Действие команды |
|---|---|
| Позиционирование на символ | |
| h | Перемещает курсор на один символ влево |
| l | Перемещает курсор на один символ вправо |
| BACKSPACE | Перемещает курсор на один символ влево |
| SPACEBAR | Перемещает курсор на один символ вправо |
| fx | Осуществляет поиск указанного символа x справа от текущей позиции курсора |
| Fx | Осуществляет поиск указанного символа x слева от текущей позиции курсора |
| tx | Осуществляет перемещение курсора вправо на символ до указанного символа x |
| Tx | Осуществляет перемещение курсора влево на символ до указанного символа x |
| ; | Повторяет предыдущий поиск символа. Команда ; запоминает символ и ищет следующее появление символа в текущей строке |
| , | Повторяет предыдущий поиск символа, но в обратном направлении |
| j | Перемещает курсор вниз на одну строку |
| k | Перемещает курсор вверх на одну строку |
| - | Перемещает курсор на одну строку вверх, позиционируя его на первом ненулевом символе |
| + | Перемещает курсор вниз на одну строку и позиционирует на первый непустой символ |
| Перемещает курсор вниз на одну строку и позиционирует на первый непустой символ | |
| Позиционирование на строку | |
| $ | Переместить курсор на последний символ в строке |
| 0(ноль) | Переместить курсор на первый символ в строке |
| ^ | Переместить курсор на первый ненулевой символ в строке |
| Позиционирование на слово | |
| w | Перемещает курсор к началу следующего слова |
| W | Игнорирует все знаки пунктуации и перемещает курсор на следующее после пробела слово |
| e | Перемещает курсор на последний символ в следующем слове |
| E | Перемещает курсор на последний символ в слове. Игнорирует все символы пунктуации за исключением пробела |
| b | Перемещает курсор к первому символу предыдущего слова |
| B | Используется подобно команде b, за исключением того, что слова разделяются только символами пробел и новая строка |
| Позиционирование на предложение | |
| ( | Перемещает курсор в начало текущего предложения |
| ) | Перемещает курсор в начало следующего предложения |
| Позиционирование на параграф | |
| { | Переместить курсор в начало текущего параграфа, который ограничивается пустой строкой |
| } | Переместить курсор в начало следующего параграфа |
| Позиционирование в окне | |
| H | Переместить курсор к первой строке экрана |
| M | Переместить курсор к средней строке экрана |
| L | Переместить курсор к последней строке экрана |
Дополнительные команды перемещения курсора в редакторе vi
| Команда | Действие |
|---|---|
| Прокрутка | |
| ^f | Прокрутка экрана вперед на полное окно. Откры- вается новое окно с текстом, расположенным ниже текущего окна |
| ^d | Прокрутка текста вниз на пол-окна. Открываются строки, расположенные ниже текущего окна |
| ^b | Прокрутка экрана назад на полное окно. Откры- вается новое окно с текстом, расположенным выше текущего окна |
| ^d | Прокрутка текста вверх на пол-окна. Открываются строки, расположенные выше текущего окна |
| Позиционирование с помощью номера строки | |
| 1G | Перейти к первой строке в файле |
| G | Перейти к последней строке в файле |
| ^g | Выдать номер строки и состояние файла |
| Поиск по шаблону | |
| /pattern | Поиск вперед в буфере до первого появления шаблона. Курсор помещается на первом символе шаблона |
| ?pattern | Поиск назад в буфере до первого появления шаблона. Курсор помещается на первом символе шаблона |
| n | Повторить последнюю команду поиска |
| N | Повторить последнюю команду поиска в обратном направлении |
| Команда | Функция |
|---|---|
| a | Создать текст после курсора |
| A | Создать текст в конце текущей строки |
| i | Создать текст перед курсором |
| I | Создать текст перед первым ненулевым символом в текущей строке |
| o | Создать текст с начала новой строки, расположенной под текущей строкой |
| O | Создать текст с начала новой строки, расположенной над текущей строкой |
| Возвратить vi в командный режим из режима ввода текста |
Команды удаления текста
| Команда | Функция |
|---|---|
| Режим ввода | |
| BACKSPACE | Удалить текущий символ |
| 1w | Удалить текущее слово |
| @ | Удалить текущую строку нового текста или удалить весь новый текст в текущей строке Командный режим |
| u | Отменить последнюю команду |
| U | Восстановить текущую строку в прежнем состоянии |
| x | Удалить текущий символ |
| ndx | Удалить n-ый объект текста x |
| dw | Удалить слово над курсором и следующий за ним пробел, или знак пунктуации |
| dW | Удалить слово и пунктуацию над курсором с последующим за ним пробелом |
| dd | Удалить текущую строку |
| D | Удалить часть строки справа от курсора |
| d) | Удалить текущее предложение от текущей позиции курсора до конца |
| d} | Удалить текущий параграф от текущей позиции до конца |
Команды изменения текста
| Команда | Функция |
|---|---|
| r | Заменить текущий символ |
| R | Заменить те символы, которые введены в режиме ESCAPE |
| s | Удалить символ, под которым расположен курсор и добавить текст. Для окончания режима ввода нажмите клавишу ESCAPE |
| S | Заменить все символы в строке |
| cc | Заменить все символы в строке |
| ncx | Заменить n объектов текста типа x (предложение, параграф) |
| cw | Заменить слово или оставшиеся символы в слове на новый текст |
| C | Заменить оставшиеся символы в строке от курсора до конца строки |
| Команда | Функция |
|---|---|
| nyx | Копирование n-го объекта текста типа x (предложение или параграф) |
| yw | Создание копии слова |
| yy | Создание копии текущей строки |
| nyy | Копирование n строк |
| y) | Создание копии всего текста до конца предложения |
| y} | Создание копии всего текста до конца параграфа |
| Команда | Функция |
|---|---|
| p | Помещает содержимое временного буфера, полученное с помощью команды y и команд удаления, в текст после курсора |
| yy | Создает копию строки текста и помещает во временный буфер |
| nyx | Создает копию n-го объекта текста типа x и помещает ее во временный буфер |
| "xyn | Помещает копию объекта текста типа n в в регистр с именем x |
| "xp | Помещает содержимое регистра x после курсора |
| Команда | Функция |
|---|---|
| . | Повторить последнюю команду |
| j | Соединить текущую строку со строкой, расположенной ниже |
| ^l | Очистить и восстановить текущее окно |
| ~ | Заменить нижний регистр на верхний |
| Команда | Функция |
|---|---|
| : | Обозначает, что следующая за ней команда является командой построчного редактора |
| :sh | Временный возврат к shell для выполнения команд shell |
| ^d | Возврат из временного shell в текущее окно vi для продолжения редактирования |
| :n | Переход к n-ой строке буфера |
| :x,yw data | Записать строки от номера x до номера y в новый файл data |
| :$ | Переход к последней строке буфера |
| :.,$d | Удалить все строки в буфере, начиная с текущей и до послед- ней строки |
| :r shell.file | Вставить содержимое shell.file после текущей строки в буфере |
| :s/text/new_words/ | Заменить первое появление символов text в текущей строке на new_words |
| :s/text/new_words/g | Заменить каждое появление символов text в текущей строке на new_words |
| :g/text/s//new_words/g | Заменить каждое появление символов text в файле на new_words |
| Команда | Функция |
|---|---|
| ZZ | Записать буфер в файл, если после последней записи в буфере были сделаны изменения, и завершить работу с vi |
| :wq | Записать буфер в файл и завершить работу с vi |
| :w filename | Записать буфер в новый файл filename |
| :q | и завершить работу с vi |
| :w! filename | Перезаписать содержимое буфера в уже |
| :q | существующий файл filename и завершить работу с vi |
| :q! | Завершить работу с vi без записи буфера в файл, даже если содержимое буфера изменялось |
| :q | Завершить работу с vi без записи буфера в файл, если буфер не изменялся |
| Опция | Функция |
|---|---|
| vi file1 file2 file3 | Ввести три файла (file1 file2 и file3) в буфер vi для редактирования |
| :w | Записать текущий файл и начать |
| :n | редактирование следующего файла |
| vi -r file1 | Восстановить изменения, сделанные в файле file1 |
| view file | Осуществить просмотр файла с помощью опции "только чтение" чтобы предотвратить случайные изменения в файле file |
Комментариев нет:
Отправить комментарий