11 декабря 2008

Editor VI

VI

Таблица 3.1. Основные команды редактора vi

Начало ввода
aперейти в режим ввода, начать ввод в позиции, следующей за позицией курсора
iперейти в режим ввода, начать ввод в позиции курсора
oперейти в режим ввода, добавить пустую строку под текущей строкой и начать ввод в новой строке

Операции с буфером
ddвырезать текущую строку в буфер
xвырезать текущий символ в буфер
uотменить последнее действие
yyкопировать текущую строку в буфер
pвставить строку из буфера под текущей

Замена символа
rnзаменить символ в позиции курсора на n

Перемещение по тексту
0перейти в начало строки
$перейти в конец строки
jперейти на строку вниз
kперейти на строку вверх
hперейти на символ влево
lперейти на символ вправо
перейти на символ вправокурсор стоит в позиции символа "скобка" (круглая, квадратная, угловая или фигурная), перейти в позицию соответствующей второй скобки
Ctrl-Gпоказать текущую позицию (номер строки) в файле

Поиск и замена
/поиск вперед
?поиск назад
:s/что/на что/[g]поиск и замена

Запись и завершение редактирования
ZZвыход из редактора, запись файла
:qвыйти из редактора
:q!выйти без записи
:wзаписать изменения
:wqзаписать и выйти
:w!записать, даже если нет права записи в файл (срабатывает, только если выполнена от имени root)
:w имя файлазаписать в файл с другим именем; в дальнейшем будет считаться, что редактируется именно этот файл с другим именем

переход в командный режим

You Asked For It, You Got It

Here are some of the most used YAFIYGI commands:

u
Undo the previous command. Very handy to correct a blown delete. Many VI implementations have multiple levels of undo. Some such implementations use a succession of u commands to do more undos, and Ctrl+R commands for redos in case you undo too far. Other implementations use u for the first undo, and Ctrl+R commands for subsequent undos. The latter, although bizarre, is the "true VI way". Your best bet is to be alert enough that you never need more than a single level of undo.

Note that if you save often, you can always revert to the last saved version.
:e!
Revert to the last saved version of the current file.
x
Delete the character under the cursor. The cursor comes to rest on the character following the deleted one, or if the deleted character was the final character on the line, the character before the deleted one.
X
Delete the character to the left of the cursor. The cursor stays on the current character.
dd Delete the current line so that the cursor is placed on the line following the one deleted.
D Delete current character and everything to the end of the current line.
d^
Delete everything to the left of the cursor.
dG
Delete the current line and everything below. (Careful!)
dgg
Delete the current line and everything above. (Careful!)

Комментариев нет: