Использование текстового редактора vim

Vim — очень мощный редактор с огромным набором функций. Эта статья охватывает основные команды, которых достаточно для того, чтобы начать работу в vim-е.
Очень важно не просто читать статью, а параллельно пробовать все действия на каком-нибудь тестовом текстовом файле. Для этого создайте текстовый файл и откройте его с помощью редактора vim:

$ cd /tmp cp /etc/passwd /tmp/test vi ./test

Два режима

Есть два режима работы редактора: режим редактирования и нормальный режим. Переход в режим редактирования осуществляется различными командами, речь о которых пойдёт дальше. Выход из режима редактирования — кнопка

Команды перемещения курсора

Команды перемещения работают в нормальном режиме. Нажмите , чтобы убедиться что находитесь в нём.
Курсор можно перемещать стрелками на клавиатуре или, что гораздо быстрее, клавишами h, j, k, l:
h — влево
j — вниз
k — вверх
l — вправо
другие команды перемещения:
0 — Перейти к началу строки
$ — Перейти к концу строки
w — перейти к началу следующего слова
e — перейти к концу слова
gg — перейти в начало документа
G — перейти в конец документа
номер G — перейти на строку с номером < номер>
Можно использовать связку < номер>< команда перемещения>
3w — перейти к началу четвёртого слова, считая с текущей позиции
4e — перейти к концу четвёртого слова, считая с текущей позиции

Команды удаления

x — удалить букву под курсором
число x — удалить < число> букв, начиная с той что под курсором
dd — удалить строку
число dd или d число d — удалить < число> строк, начиная с той где находится курсор
Можно комбинировать команды удаления и перемещения:
dw — удалить 3 слова начиная с текущей позиции
d5w — удалить 5 слов
d$ — удалить строку с текущего положения курсора до конца строки
d0 — удалить строку с текущего положения курсора до начала строки

Сохранение изменений

Для того чтобы сохранить отредактированный файл нужно:

  • перейти в нормальный режим, нажав
  • ввести команду :write < имя_файла> ,
  • или её сокращённый вариант :w < имя_файла>

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

Вставка текста

Для перехода в режим вставки нажмите .
A — переход к концу строки и начало режима вставки
a — переход к следующему символу и начало режима вставки
o — начать вставку под текущей строкой
O — начать вставку над текущей строкой
— переход к нормальному режиму

Отмена последних изменений

u — отмена последнего изменения
U — отмена изменений во всей строке
— отмена отмены

Копирование и вставка

yy — скопировать всю строку в буфер обмена
p — вставить содержимое буфера обмена после курсора
y5y или 5yy — скопировать 5 строк
yw — скопировать слово
В буфер обмена попадают и только что удалённый текст. Например если удалить строку dd, то сразу же после этого её можно вставить с помощью p

Замена

r — заменить символ под курсором
R — заменять символы, начиная с текущего положения
c < число> < команда перемещения> — ещё одна команда замены.
cw — поменять слово.
c$ — поменять строку, начиная с положения курсора и до конца.
cc — поменять всю строку.

Поиск

/ — поиск в прямом направлении
? — поиск в обратном направлении
n — перейти к следующему найденному элементу
p — перейти к предыдущему найденному элементу

Поиск соответствующей скобки ], ), }

Наведите курсор в нормальном режиме на открывающуюся/закрывающуюся скобку и нажмите %. Курсор перейдёт к соответствующей закрывающейся/открывающейся скобке, если таковая есть

Определение положения в файле

Чтобы определить текущее положение нажмите в нормальном режиме. В нижней части терминала появится строка, содержащая информацию о количестве строк, текущем положении, имя файла.

Автоматическая замена

:s/old/new/g — заменить все сочетания ‘old’ в текущей строке на ‘new’
:10,20s/old/new/g — тоже самое, но для строк с 10й по 20ю

Вызов справки

:help < команда> — вызов справки по команде редактора.

Исполнение shell-команд

:!< команда>
Например:
:!ls — исполнить команду ls в текущей директории

Чтение файла

:r — вставить содержимое filename после курсора

Команда set

Некоторые настройки редактора можно менять не выходя из самого редактора с помощью команды set.
Например:
:set ic — ignore case — игнорировать регистр букв (например при поиске)
:set hls — highlighting search — подсвечивать найденное при поиске совпадение
:set nohls — не подсвечивать найденное при поиске совпадение

Файл настроек

Скрипт, который исполняется при запуске редактора vim находится в домашней директории пользователя и называется .vimrc.
В нём можно задать некоторые дополнительные настройки, например:

colo evening filetype plugin on set grepprg="grep -nH $*" filetype indent on

Примеры этого файла поставляются вместе с дистрибутивом редактора.

Дополнительная информация

Подробную информацию можно получить из встроенной справки с помощью команды :help или на страницах мануала man vi

По материалам: linuxgeeks.ru

Запись опубликована в рубрике *Unix,*Linux. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Я не спамер This plugin created by Alexei91