|
Страница 2 из 4 Список команд В принципе, для начала работы с vi достаточно запомнить десяток основных команд. Вот они - в первой таблице. Вы можете распечатать её и приклеить к монитору. Но перед этим - важное замечание: как Вы думаете, какая команда самая распространённая? Правильно, удалить неверно введённцй, ой, введённый символ. Это команда х. Только вот какая незадача - она удаляет символ над курсором, а когда Вы ввели этот неправильный символ, курсор уже ушёл вперёд. Так что же - надо для удаления символа нажимать hx? Нет, так как при переходе в командный режим (нажатии <ESC>) курсор автоматически переходит на один символ назад - на только что набранный символ. Это происходит всегда, ведь vi не может догадаться, что именно Вы хотите сделать, и происходит это именно при переходе в командный режим, то есть повторное нажатие <ESC> не переместит курсор. | Основные команды vi |
|---|
| vi filename | Вызов редактора vi для редактирования файла filename |
|---|
| a | Добавить текст после курсора (переход в режим ввода) |
|---|
| <ESC> | Перейти из режима ввода в командный режим |
|---|
| h | Переместить курсор на один символ влево |
|---|
| j | Переместить курсор вниз на одну строку |
|---|
| k | Переместить курсор вверх на одну строку |
|---|
| l | Переместить курсор на один символ вправо |
|---|
| x | Удалить символ |
|---|
| WWW.AIXPORTAL.RU - узнать всё об AIX |
|---|
| :w | Записать в файл |
|---|
| :q | Завершить работу с vi |
|---|
| :q! | Завершить работу с vi без сохранения файла |
|---|
| :wq | Записать буфер в файл и завершить работу с vi |
|---|
| ZZ | Записать буфер в файл и завершить работу с vi |
|---|
Обратите внимание на базовые команды перемещения курсора - hjkl. Вполне вероятно, в терминале будут работать и стрелки, но эти команды стоит запомнить - они Вам пригодятся при работе в командной строке ksh. А запомнить их просто - это обычная "распальцовка" - влево-вниз-вверх-вправо.
У vi есть масса возможностей. В следующих таблицах команды сгруппированы по предназначению. Кстати, любую команду vi можно выполнить несколько раз - для этого надо перед командой указать число повторений. Например, 10k - перейти на 10 строк вверх, а 10o (эта команда будет дальше) - вставить 10 строк ниже курсора. Полезная подсказка? | Позиционирование курсора |
|---|
| h | Переместить курсор на один символ влево |
|---|
| j | Переместить курсор вниз на одну строку |
|---|
| k | Переместить курсор вверх на одну строку |
|---|
| l | Переместить курсор на один символ вправо |
|---|
| $ | Переместить курсор на последний символ в строке |
|---|
| 0(ноль) | Переместить курсор на первый символ в строке |
|---|
| ^ | Переместить курсор на первый не пустой символ в строке |
|---|
| | |
|---|
| w | Переместить курсор к началу следующего слова |
|---|
| W | Переместить курсор к началу следующего слова, не учитывая все знаки пунктуации |
|---|
| | |
|---|
| 1G | Перейти к первой строке в файле |
|---|
| G | Перейти к последней строке в файле |
|---|
| nG | Перейти к строке номер n в файле |
|---|
| :set num | Показывать номера строк в файле |
|---|
| :set nonum | Не показывать номера строк в файле |
|---|
| | |
|---|
| ^f | Прокрутить экран вперёд на полное окно. |
|---|
| ^b | Прокрутить экран назад на полное окно. |
|---|
| Поиск и замена текста по шаблону (*) |
|---|
| /pattern<ENTER> | Поиск вперёд в буфере до первого появления шаблона pattern. |
|---|
| ?pattern<ENTER> | Поиск назад в буфере до первого появления шаблона pattern. |
|---|
| n | Повторить последнюю команду поиска |
|---|
| | |
|---|
| :s/pattern/new_text/<ENTER> | Заменить первое появление шаблона pattern в текущей строке на new_text |
|---|
| :s/pattern/new_text/g<ENTER> | Заменить каждое появление шаблона pattern в текущей строке на new_text |
|---|
| :g/pattern/s//new_text/g<ENTER> | Заменить каждое появление шаблона pattern в файле на new_text |
|---|
* В шаблоне (pattern) работают регулярные выражения (RE - Regular Expressions). Подробнее про регулярные выражения можно найти в IBM AIX InfoCenter. | Ввод, удаление и замена текста |
|---|
| a | Создать текст после курсора (переход в режим ввода) |
|---|
| A | Создать текст в конце текущей строки (переход в режим ввода) |
|---|
| i | Создать текст перед курсором (переход в режим ввода) |
|---|
| | |
|---|
| o | Вставить новвую строку ниже текущей строки и перейти в неё (переход в режим ввода) |
|---|
| O | Вставить новвую строку выше текущей строки и перейти в неё (переход в режим ввода) |
|---|
| | |
|---|
| <BACKSPACE> | В режиме ввода: удалить текущий символ |
|---|
| x | Удалить текущий символ |
|---|
| dw | Удалить слово над курсором (текст помещается во временный буфер) |
|---|
| dW | Удалить слово и пунктуацию над курсором (текст помещается во временный буфер) |
|---|
| dd | Удалить текущую строку (текст помещается во временный буфер) |
|---|
| rx | Заменить текущий символ на символ x |
|---|
| R | Перейти в режим ввода с заменой текста |
|---|
| Дополнительные команды |
|---|
| u | Отменить последнюю команду |
|---|
| . | Повторить последнюю команду |
|---|
| j | Соединить текущую строку со строкой, расположенной ниже |
|---|
| yy | Скопировать строку во временный буфер |
|---|
| p | Поместить содержимое временного буфера, полученное с помощью команды y или команд удаления, в текст после курсора |
|---|
| :show mode<ENTER> | Показывать режим работы vi в строке статуса (командный или ввода) |
|---|
| Работа с файлами и выход из редактора |
|---|
| ZZ | Записать текст в файл и завершить работу с vi |
|---|
| :wq<ENTER> | Записать текст в файл и завершить работу с vi |
|---|
| :w<ENTER> | Записать текст в файл |
|---|
| :w!<ENTER> | Записать текст в файл, даже при недостатке прав доступа (если вы владелец файла или root) |
|---|
| :q<ENTER> | Завершить работу с vi без записи текст в файл, если буфер не изменялся |
|---|
| :q!<ENTER> | Завершить работу с vi без записи текст в файл, даже если текст изменялся |
|---|
| :w filename<ENTER> | Записать текст в новый файл filename |
|---|
| :w! filename<ENTER> | Перезаписать содержимое текста в уже существующий файл filename |
|---|
Хотите узнать, г де ещё можно использовать команды vi? Тогда читайте дальше.
|