Рассмотрим основные команды работы с текстовым редактором Vim основном на более старом Vi. Если вы нацелены на серьезную дальнейшую работу в качестве системного администратора изучайте этот редактор. Vi универсальный редактор, который есть везде.

Почему выбираем VIM

Долгое время пользовался редактором mcedit, который входит в текстовый редактор Midnight Commander, и он вполне меня устраивал. Периодически видел в сети рекомендации опытных админов использовать редактор vim, но никак не мог понять чем же он так хорошо и почему советуют именно его.

Как оказалось этот редактор имеет смысл использовать исходя из двух основных причин:

  1. Других редакторов нет на других системах по умолчанию (например Solaris), Vi это универсальный редактор, который есть везде с 80-x годов;
  2. При редактировании с mc возможны ошибки, если случайно задел что-то и появился непечатный символ – глазами его не увидеть, а голову потом ломать можно очень долго почему что-то не работает как надо.

Этих причин мне хватило чтобы осознано изучить как работать с редактором Vim.

В случае отсутствия редактора установите пакет vim согласно правил выбранного дистрибутива.

Учебник VIM

Введем в консоли команду и увидим учебник по vim:

vimtutor
= вывод команды =
===============================================================================
= Д о б р о п о ж а л о в а т ь в у ч е б н и к VIM -- версия 1.7 =
===============================================================================

Vim -- это очень мощный редактор, имеющий множество команд, слишком много
 для того, чтобы их все можно было описать в таком учебнике, как этот.
 Этот учебник призван объяснить достаточное число команд для того, чтобы
 вы могли с лёгкостью использовать Vim в качестве редактора общего
 назначения.

Вам потребуется приблизительно 25-30 минут на освоение данного учебника в
 зависимости от того, сколько времени вы потратите на эксперименты.

Внимание! Командами в уроках вы будете изменять этот текст. Создайте
 копию этого файла, чтобы попрактиковаться на ней (если вы запустили
 "vimtutor", то это уже копия).

Важно помнить, что этот учебник предназначен для обучения в процессе
 использования. Это означает, что вы должны запускать команды для того,
 чтобы как следует их изучить. Если вы просто прочитаете этот текст, то
 не запомните команды!

Теперь убедитесь в том, что клавиша CapsLock не включена, и нажмите
 клавишу j несколько раз, так, чтобы Урок 1.1 полностью поместился на
 экране.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Урок 1.1: ПЕРЕМЕЩЕНИЕ КУРСОРА
** Для перемещения курсора нажмите клавиши h,j,k,l так, как показано ниже. **
!!! Остальная часть учебника не показана !!!

На прохождение всех уроков и выписывания всех команд в удобной мне форме у меня ушел день. Советую обязательно пройти эти уроки! Если вам покажется что используемые команды разбросаны по своим функциональным назначения вы можете воспользоватся моим списком команд.

Смена цветовой схемы

Все схемы для CentOS можно посмотреть по пути /usr/share/vim/vim74/colors

Чтобы посмотреть текущую схему, необходимо выполнить команду :

:colorscheme

Для просмотра цветовой схемы в текущей сессии набираем:

:colorscheme scheme_name

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

= переходим в папку пользователя =
cd
= создаем необходимый файл =
vim .vimrc
= вносим необходимые параметры
syntax on
colorscheme scheme_name

Список основных команд VIM

ESC – снимает все режимы и переводит в Normal mode.

Навигация и Поиск

СТРЕЛКИ – перемещение курсора.
0 – (ноль) перемещение к началу строки.
Ctrl + G – внизу экрана появится статус с именем файла и номером строки.
Shift + G  – перемещение к концу файла.
:№ строки – переход к нужной строке.

/искомая фраза – поиск после курсора.
/искомая фраза\с — игнорировать регистр только для одного поиска.
n – повтор поиска.
Shift + N – поиск в обратном направлении.
?искомая фраза – сразу поиск в обратном направлении.

Опции для поиска:
:set ic – игнорирование регистра при поиске.
:set is – отображение частичных совпадений при поиске.
:set hls – подсветка всех совпадений при поиске.
Для отключения добавляется`no’ перед параметром.

Поиск парных скобок:
Ставим курсор на нужный символ { [ и тд. и знак % перенесет на парную скобку.

Выход и Сохранение

:q! – выйти из редактора БЕЗ СОХРАНЕНИЯ любых сделанных изменений.
:q – закрыть если не делали никаких действий с файлом.
:wq – выход с СОХРАНЕНИЕМ всего что сделано.
:w!q – выход с СОХРАНЕНИЕМ когда у файла есть атрибуты на запрет изменений. Не путать с правами доступа!

Аналоги команд:
w! – это W
q! – это Q

:w test – создаст файл test  в текущей директории.
:w /home/test – создаст файл по указанному пути.

Сохранения части текста в файл:
v – перевод в визуальный режим редактора (выделение стрелками).
:'<,’>w /root/test – параметр ‘<,’> говорит что сохраниться только выделенная часть  файл test.

Редактирование

:noh – убрать выделения.

i – вставка текста под курсором.
a – вставка текста после курсора.
A – добавление текста в конце строки.

yy – копирование строки.
v – переводит в визуальны режим. Стрелками выделяется нужный текст.
y – копирование выделенного текста.
p – вставка последнего удалённого текста или того что было скопировано по команде y.

r – замена символа под курсором.
R – замена нескольких символов.

ce – удаление символов в слове после курсора и переход в режим вставки.
с$ – после курсора в строке всё удалит и перейдет в режим вставки.

Клавиша Backspace может использоваться для исправления при наборе!

o – создание пустой строки ПОД курсором и переход в режим вставки.
O – создание пустой строку НАД курсором и переход в режим вставки.

:r TEST – вставка текст из файла TEST.
:r !ls – прочитает вывод команды ls и вставит его ниже курсора.

u – отмена (откат) предшествующих действий.
U – отмена (откат) предшествующих действий в строке.
CTRL+ R – отмена отмены (если случайно отменили то что не надо было отменять).

:s/было/стало – заменит первое найденное вхождение в строке.
:s/уводю/увожу/g – заменит все найденные в строке вхождения.
:#,#s/было/стало/g – где #,# номера этих строк для замены всех вхождений.
:%s/было/стало/g – замена всех вхождений во всем файле.
:%s/было/стало/gc – поиск всех вхождений во всем файле и запроса подтверждения замены.

x – удаление символа под курсором.
dd – удаление всей строки.
2dd удаление двух строк.
dw – удаление от курсора до конца слова, включая последующий пробел.
de -удаление от курсора до конца слова, НЕ включая последующий пробел.
d$ -удаление от курсора до конца строки.
d^ -удаление от курсора до начала строки.

Выполнение внешних команд

:sh – переход в консоль (для возврата набрать exit).
:!ls – команда добавит список файлов в текущем каталоге.

Вывод

Не так страшен Vim как он кажется при первом знакомстве с ним. Всего несколько дней и уже начинаешь понимать, что кажущаяся сложность использования на самом деле ограждает от случайных действий.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Понравилась статья? Поделитесь ей с друзьями!

Похожие по теме записи

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

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