—ерверные решен舓еори€

 ак пользоватьс€ vim в Linux

 ак редактировать файлы через консоль?

ћерион Ќетворкс

—егодн€ в статье будут кратко описаны главные функции текстового редактора Vim Ц данный редактор очень часто €вл€етс€ самым простым способом отредактировать конфиг\текстовый файл, но он обладает не самым дружелюбным интерфейсом. ƒавайте разберЄм основные моменты.


“екстовый редактор Vim

Ётот текстовый редактор умеет работать в нескольких режимах: режиме вставки, командном режиме и Ђex modeї режиме (режим последней строки). —разу после открыти€ файла с помощью команды vim %file_name% редактор запуститьс€ в так называемом Ђкомандном режимеї - ввод текста будет недоступен, Vim будет воспринимать только команды. ƒл€ переключени€ в режим вставки необходимо нажать "i" Ц у вас по€витс€ возможность редактировать текст. ѕосле того как все манипул€ции будут завершены, вам необходимо будет перейти в режим последней строки и дать команду сохранить\выйти\сохранить и выйти и так далее Ц дл€ этого необходимо: если находитесь в командном режиме нажать ":" (двоеточие) и ввести команду, а если находитесь в режиме вставки Ц сначала нужно нажать Escape и затем нажать двоеточие.


 омандный режим и его возможности

¬ командном режиме доступно очень большое количество команд, с полным списком которых можно ознакомитьс€ по ссылке: https://www.fprintf.net/vimCheatSheet.html, € же приведу здесь только самые часто используемые и полезные.

—амое главное, что нужно запомнить Ц это клавиши, используемые дл€ перемещени€ по тексту Ц это h, j, k, l.

 ак пользоватьс€ vim в Linux
  • h - сдвиг на один символ влево
  • j сдвиг на один символ вниз
  • k сдвиг на один символ вверх
  • l сдвиг на один символ вправо

 роме того, есть возможность перемещатьс€ на одно слово вперед или назад Ц важно помнить, что словом €вл€етс€ нечто вида "aesr1001k", то есть без дефиса и прочих разделительных знаков Ц "aesr-1001k" Ц это будет восприниматьс€ редактором как два слова. »так, дл€ перехода на одно слово вперед нужно нажать "w", а дл€ перехода назад Ц "b". Ќе очень интуитивно, не правда ли?:)

≈сли вам нужно что-то копировать Ц в ¬име это делаетс€ достаточно просто Ц дл€ этого нужно сначала переключитьс€ в режим редактировани€ текста (клавиши "V" (выделение целых строк),"v"(посимвольное выделение) или "Ctrl-v"(блочное выделение) Ц после переключени€ можно будет выдел€ть текст использу€ кнопки описанные выше или же использу€ клавиши со стрелками. ѕосле выделени€ нужно нажать клавишу "y" дл€ копировани€ фрагмента в буфер обмена. ƒл€ вставки используютс€ маленька€ и больша€ "p" Ц маленька€ дл€ вставки после курсора и больша€, соответственно, до.

„то касаетс€ удалени€ Ц здесь тоже есть свои Ђтрюкиї:

  • d или x - удаление символов Ц курсор нужно ставить над нужным символом и нажимать указанную клавишу
  • dw - удаление слова под курсором
  • db - удаление предыдущего слова
  • dd - удаление целой строки
  • d$ - удаление части строки от позиции курсора до конца строки
  • d^ - удаление части строки от позиции курсора до начала строки

„то если вам необходимо найти какую-нибудь информацию в тексте? ƒл€ этого вам потребуетс€ переключитьс€ в режим поиска, причЄм есть два режима поиска: при нажатии на "/" - включитьс€ поиск в пр€мом направлении, и при нажатии на на "?" - включитьс€ поиск в обратном направлении. ѕосле этого нужно ввести шаблон поиска Ц к примеру: :/ipaddress

“акже возможен поиск и замена Ц данный режим включаетс€ командой :s, после чего вам необходимо будет указать слово дл€ поиска и слово, на которое произойдет замена: :%s/192.168.1.1/192.168.2.2/ - в данном примере указана глобальна€ область поиска, и первый найденный сетевой адрес 192.168.1.1 будет заменен на 192.168.2.2. ≈сли же необходимо заменить все найденные адреса на новые и запрашивать подтверждение при каждой замене Ц нужно добавить буквы "gc" - :%s/192.168.1.1/192.168.2.2/gc

” многих мог возникнуть вопрос Ц как же сделать столь привычное Undo, то есть отменить последние действие Ц дл€ этого нужно воспользоватьс€ командой "u" - но, к сожалению, отменить можно только последние действие. ≈сли же нужно повторить отмененное действие (т.е сделать UnUndo) нужно нажать "Ctrl+r".

¬ажно Ц если отменен режим совместимости с Vi, то отмен€ть можно большее количество действий.

—охранение и выход

“еперь перейдем к важному моменту Ц сохранению и выходу. “ут есть несколько опций:

  • :w сохранение изменений без выхода
  • :wq или :x - старое доброе Ђсохранить и выйтиї
  • :q! - выход без сохранени€ изменений
  • :w %file_name% - Ђсохранить какї в новый файл

Ќа этом всЄ, помните, что Vim не €вл€етс€ самым удобным редактором, и, если есть возможность Ц лучше установите что-то более привычное дл€ вас. Ќо навыки использовани€ Vim важны, так как часто это единственно доступный инструмент дл€ редактировани€ конфигов на удаленных серверах.


ѕолезна ли ¬ам эта стать€?

–аз в неделю мы отправл€ем дайджест с самыми интересными стать€ми.

P.S. ≈сли укажите свою дату рождени€, то мы об€зательно ¬ас поздравим и подарим небольшой подарок :)

Ќажима€ на кнопку "ѕодписатьс€", вы даете согласие на обработку своих персональных данных