Распечатать эту страницу

vi, vim - основной редактор в Linux

vimdiff - сравнение двух файлов в vim (см. инфо в разделе файлы)

3 режима работы:

1. Командный режим. vi открывает файл на редактирование по умолчанию в этом режиме. 

2. Режим вставки. Простое редактирование текста, переход в режим нажатием "i" в командном режиме.

3. Визуальный режим. Выделение блоков текста и редактирование.


КОМАНДНЫЙ РЕЖИМ

1. Сохранение и выход

:wq! или shift+zz - сохранить и выйти
:w filename - сохранить в другой файл
:q!, :qa! - выйти без сохранения

 

2. Перемещение

h, j, k, l - влево, вниз, вверх, вправо

$ - в конец строки, 0 или ^ - в начало

2G - перейти ко 2-ой строке, G - к последней

e - на слово вперед, b - назад

 

3. Поиск

/word - поиск слова word

n - следующуе совпадение, N - предыдущее

:set insearch - поиск без учета регистра

 

3. Отмена

u - отмена действия, uu - отмена всех действий

CTRL+r - отмена отмены действия

 

3. Выделение, копирование, вставка, удаление

v - посимвольное выделение, CTRL+v - блочное 

y - копировать в буфер, yy - копировать всю строку

p - вставка, o - новая строка под курсором, O - над курсором 

dl - удалить символ, dw - слово, d$ - до конца строки, dd - всю строку

 

4. Макросы

q1 - начать запись макроса №1

выполнить необходимую последовательность действи

q - закончить запись макроса

@1 - выполнить макрос 1 (воспроизвести последовательность действий), 10@1 - выполнить макрос 1 10 раз

 

5. Закомментировать и раскомментировать строки в vim

Закомментировать

  • Нажать Ctrl+V и выделить нужный кусок текста.
  • Нажимаем Shift+i, потом пишем символы коммента (#, //, ; и так далее).
  • Потом нажимаем Esc.

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

  • Нажимаем Ctrl-V и выделяем закомментированные строки
  • После чего, нажимаем клавишу «x»

 


Опции и примеры

Опции

:set number - пронумеровать строки, nonumber - убрать нумерацию

:f - отобразить название редактируемого файла

 

Примеры

1. Выполнение команд оболочки непосредственно в vi

:! ls -l /tmp/ - вывести выполнение команды ls

:r! ls -l /tmp/ - вставить в текущий файл вывод команды ls

 

2. Заменить в строках 10 - 25 все буквы "а" на "А"

:10,25s/a/A/g

где 10,25 - диапазон, а - слово, которое ищем, А - на что меняем, g - искать во всей строке, иначе поменятеся только первое вхождение. 

Так же применимы еще ключи i - игнор регистра, c - подтверждение каждой замены

:%s/cofe/tea/g - заменить во всем документе cofe на tea