The vi editor. Quickstart cheatsheet.

8 ноября (Суббота) 2008

Редактор vi, на первый взгляд сложен для понимания, особенно пользователя, привыкшим к графическому интерфейсу, но после освоения он может помочь сэкономить довольно много времени и стать незаменимым инструментом. Основное преимущество редактора vi это скорость. Далее привожу основные комманды…

Открытие файла:
vi имя_файла

Редактирование:
i — вставить символ перед курсором
I — вставить символ в начале строки
a — вставить (добавить) символ после курсора
A — добавить символ в конец строки
r — заменить один символ
R — полностью заменять текст (аналогично нажатию Ins в GUI редакторах)

Удаление текста:
x — удалить один символ
dd — вырезать в буфер текущую строку
ndd — вырезать в буфер n-строк
J — удалить перенос строки

u — отмена последней комманды

Редактирование:
yy — скопировать строку в буфер
nyy — скопировать n-строк в буфер
p — вставить содержимое буфера после текущей строки
P — вставить содержимое буфера перед текущей строкой

Позиционирование курсора:
^d — страницей выше
^u — страницей ниже
:n — перейти на строку n
:$ — переместить курсор в конец файла
^g — показать номер текущей строки
h,j,k,l и стрелки — перемещение курсора вверх\низ\лево\право

Замена строк:
:n1,n2:s/string1/string2/[g] — заменить string2 на string1 на строках с n1 по n2. Если подстрока g встречается (глобально), все подстроки string2 на каждой строке будут заменены. Если подстрока g не встречается, то только первое вхождение подстроки string2 на каждой строке будет заменено

^ — совпадения с начала строки
. — совпадение одного символа
$ — совпадения с конца строки

Примеры:
:1,$:s/dog/cat/g — заменить ‘cat’ на ‘dog’, во всём файле начиная с первой строки и до конца файла
:23,25:/frog/bird/ — заменить только первые ‘bird’ на ‘frog’ на каждой строке с 23 по 25

Выход из редктора, сохраниение и другие комманды:
Эти комманды вводятся через двоеточие
:w — просто сохранить изменения
:w имя_нового_файла — сохранить как новый файл
:w! имя_существующего_файла — сохарнить как существующий файл
:wq — сохранить и выйти
:q — выйти
:q! — выйти без сохранения

:e имя_файла — открыть файл для редактирования

:set number — включить нумерацию строк
:set nonumber — выключить нумерацию строк


это вольный перевод, оригинал заметки находиться тут


Русская man-страница со списком всех комманд есть тут, а хороший обзор рядом
А так же версия для печати: cheatsheet.pdf

Оставьте комментарий