Полезные советы и подсказки, которые помогут лучше освоить Vi / Vim — часть 1

Полезные советы и подсказки, которые помогут лучше освоить vi / vim — часть 1

Рубрики:

Linux, Новости

Метки:

,

Многим начинающим ИТ-специалистам приходится повышать уровень навыков обращения с vi / vim. Ведь в работе системного администратора регулярно возникает необходимость открывать и изменять текстовые файлы. К примеру, читать логи (log file) или менять настройки утилит и всей операционной системы (conf file). Как правило, при работе через командную строку для этого применяют специальные текстовые редакторы:

  • nano;
  • vi / vim;
  • emacs.

Конечно же, vi / vim — самый многофункциональный и он же самый распространенный вариант. Возможно, Вы тоже хотите научиться использовать этот популярнейший текстовый редактор для ОС GNU / Linux на профессиональном уровне.

Содержание:

  1. Советы, которые помогут Вам лучше разобраться в работе с vi / vim
    1. Совет №1: пользуйтесь интерактивной справкой
    2. Совет №2: перемещайтесь вперед и назад с помощью меток
    3. Совет №3: используйте повтор последней команды
    4. Совет №4: изучите коды вставки специальных символов Юникода
    5. Совет №5: вызывайте внешние двоичные файлы изнутри vim
    6. Совет №6: научитесь вставлять существующие файлы
    7. Совет №7: освойте поиск и замену
  2. Выводы

Советы, которые помогут вам лучше разобраться в работе с vi / vim

Безусловно, новички в сфере системного администрирования Linux чаще выбирают текстовый редактор nano. Потому что у него предельно простой функционал и интуитивно понятное управление. Тогда как vim и emacs способны сделать гораздо больше, но и требуют более подробного изучения.

Однако зачем вообще нужно учиться использовать приложения, способные открывать текстовые файлы лишь в командной строке (CLI — Command Line Interface)? Ведь для этого есть приложения, обладающие удобным и понятным графическим интерфейсом (GUI — Graphical User Interface). Прежде всего, все дело в том, что работать Вам придется не с пользовательскими компьютерами, а с различными серверами и другим оборудованием под управлением ОС семейства Линукс. То есть, с устройствами, у которых нет ни монитора, ни графического пользовательского интерфейса системы. Так что нужно уметь действовать через консоль, в том числе по удаленному доступу. Кроме того, Ваша операционная система может сломаться, и для исправления ошибки Вам будет доступен лишь терминал, а также возможность читать и редактировать текстовые файлы.

Поэтому в первой части этой статьи мы рассмотрим 7 советов и трюков, которые помогут Вам на более высоком уровне изучить возможности vi / vim. Если Вы раньше не работали с ним, то прочтите нашу статью «Установка vi / vim и редактирование текста».

Также рекомендуем Вашему вниманию вторую часть этой статьи — «Полезные советы и подсказки, которые помогут лучше освоить vi / vim — часть 2».

Совет №1: пользуйтесь интерактивной справкой

Использование интерактивной справки существенно упрощает работу с редактором. Запустите утилиту vim и нажмите клавишу F1 (либо используйте клавишу h в режиме ex, чтобы войти в режим интерактивной справки).

В этом режиме можно перейти сразу к определенному разделу справки. Для этого поместите на него курсор и нажмите комбинацию клавиш Ctrl +] (Ctrl и закрывающая квадратная скобка). Чтобы вернуться к предыдущему экрану — просто нажмите сочетание клавиш Ctrl + t.

Кроме того, Вы можете использовать поиск конкретного объекта или команды. Для этой цели примените клавишу h и ключевое слово, связанное с искомой командой или функцией. Наглядным примером будет поиск, в котором ключевым словом является символ x.

 

В результате по запросу x Вы увидите раздел справки о функции удаления (delete):

 

Теперь попробуем осуществить поиск по ключевому слову substitute:

 

Вам откроется раздел встроенной справки, посвященный функции замещения (substitute).

Совет №2: перемещайтесь вперед и назад с помощью меток

Новичку довольно просто работать в vi / vim, если текстовый файл занимает не больше одного экрана. С другой стороны, но многие документы содержат куда больше информации. Поэтому очень полезно научиться использовать метки для перемещения по документу. Вы сами можете оставлять подобные метки, по сути являющиеся закладками. После размещения метки вы всегда сможете быстро к ней вернуться.

Предположим, Вы редактируете файл конфигурации, состоящий из 300 слов. И по какой-нибудь причине Вам приходится многократно переключаться между строками 30 и 250 (например, если они содержат начало списков параметров, требующих периодической сверки).

Для использования меток, введите в ex-режиме :30, чтобы перейти к строке №30. После чего в командном режиме нажмите клавиши m, а затем — a. В результате Вы создадите метку с именем a на тридцатой строке файла.

Давайте перейдем к строке №250 — просто введите в ex-режиме :250. Теперь, чтобы быстро вернуться к ранее созданной метке, введите `a — сочетание имени нашей метки и обратного машинописного апострофа(«`»).

Важно: в редакторах vi / vim в качестве имени метки могут использоваться как строчные, так и прописные символы латинского алфавита.

За время работы с большим файлом Вы можете создать целый ряд меток. Чтобы не запутаться — полезно иметь возможность в любой момент посмотреть их список. Для этого введите в ex-режиме следующую команду:

 

 

В результате Вы сможете узнать не только имена меток, но и строки, на которые они ссылаются.

 

Совет №3: используйте повтор последней команды

В работе системного администратора часто возникает необходимость в изучении чужих скриптов оболочки. Скрипты — это сценарии с командами; своеобразные программы, позволяющие автоматизировать рутинные задачи и объединить их в крупные блоки в текстовом файле с условиями срабатывания, циклами и другими полезными функциями. К примеру, можно не вводить в начале рабочего дня одни и те же команды с параметрами по многу раз, а просто вызывать текстовый файл со скриптом и видеть результат.

Однако разобраться в чужом (или в собственном, но написанном слишком давно) скрипте оболочки может быть нелегко. Особенно — если не было выполнено его надлежащее форматирование отступами. Но всего пара команд vim может превратить нечитаемую «кашу» в понятную структуру сценария.

Давайте выберем первый блок текста. Для этого поместите на нем курсор и нажмите комбинацию клавиш Ctrl + v (Ctrl, затем латинскую v). Теперь у Вас есть два варианта добавления отступа к тексту:

  • слева — комбинация символов <j («меньше», затем латинская j);
  • справа — комбинация символов >j («больше», затем латинская j).

После этого нажмите знак «.» (точка), чтобы повторить введенную команду. Теперь выбранный блок будет сдвигаться вправо или влево, в зависимости от выбранного Вами в первый раз варианта. И все это лишь одним нажатием клавиши, без необходимости повторного ввода сочетания символов!

Есть еще один интересный пример применения этой функции. А именно — удаление лишних слов из текстового файла с помощью возможностей команды dot. Поместите курсор не первом удаляемом слове и введите сочетание символов dw. Так Вы удалите первое слово, после чего можете выбирать следующее и теперь жать клавишу «.» (точка).

Совет №4: изучите коды вставки специальных символов Юникода

Очень досадно, когда на клавиатуре отсутствует нужный Вам символ в имеющейся раскладке. Либо ввести нужный знак не позволяют языковые и региональные настройки операционной системы сервера. К счастью, специальные символы Unicode всегда можно добавить с помощью их кодов.

Нажмите сочетание клавиш Ctrl + v (Ctrl, затем латинскую v) в режиме вставки. После чего нажмите клавишу u и сразу шестнадцатеричный цифровой код нужного Вам спецсимвола.

Важно: коды следует брать из таблицы Unicode.

В качестве примера попробуйте ввести следующие специальные символы по их коду:

Ctrl+v с последующим значением Выведет
u0040 @
u00B5 μ
u20AC

 

Совет №5: вызывайте внешние двоичные файлы изнутри vim

Рано или поздно при работе с Linux Вы столкнетесь с необходимостью вставки в файл с помощью vim данных внешней команды. К примеру, для создания абсолютного пути к каталогу со скриптом приходится создавать переменную DIR, чтобы передавать ее в другой скрипт для дальнейшего использования. Сделать это довольно просто — воспользуйтесь следующей командой в ex-режиме:

 

Важно: в данном случае в текстовый файл будет автоматически вставлен Ваш актуальный рабочий каталог.

Еще один пример — это вставка в скрипт шлюза по умолчанию. Это тоже легко можно сделать, не выходя из текстового редактора vim. Просто введите следующий набор команд в ex-режиме:

Совет №6: научитесь вставлять существующие файлы

Предположим, что Вам нужно объединить файл, который Вы уже редактируете, с другим текстовым файлом. Например, чтобы разные логи были в одном месте или чтобы не повторять заново уже написанный элемент скрипта. Разработчики предусмотрели такую возможность, и воспользоваться ей можно по методу, очень похожему на предложенный в предыдущем совете.

Введите в ex-режиме путь к файлу, но с одним отличием — не ставьте «!» (восклицательный знак) в начале команды, как в прошлом примере. Предположим, что Вы хотите скопировать в свой текстовый документ содержимое файла /etc/passwd. В таком случае команда будет выглядеть следующим образом:

Совет №7: освойте поиск и замену

Каждый человек, работающий с текстовыми редакторами, сталкивался с необходимостью замены определенного слова по всему содержимому документа. Допустим, это имя переменной или же какой-то параметр, который нужно изменить. Часто подобные задания встречаются на сертификационных экзаменах по Linux. К счастью, подобная задача не требует самостоятельного выявления вхождений выбранного слова и его ручной замены. Выполнить поиск и замену можно простой командой:

 

Вместо old укажите слово, которое нужно найти и заменить, а вместо new — слово или строку, которой желаете заменить найденное слово.

Однако по своему опыту можем сказать, что не всегда бездумная замена одного шаблона другим — хорошая идея. Прежде всего, поиск может не учитывать окончания или контекст, если это связный текст. Тогда как в файлах настроек можно вообще все сломать, а потом с большими сложностями искать причину проблемы. Но и для этого есть решение — замена по запросу. Просто добавьте латинскую c после команды, как показано на следующем примере:

 

Вы увидите подсвеченное найденное слово и должны будете подтвердить каждую замену:

 

 

В данном диалоге символы имеют следующие значения:

  • y — «да»;
  • n — «нет»;
  • a — «заменить все»;
  • q — «выйти»;
  • l — «заменить это событие и выйти»;
  • ^E (Ctrl + E) — «прокрутка вверх на один экран»;
  • ^Y (Ctrl + Y) — «прокрутка вниз на один экрану».

Выводы

Надеемся, что некоторые из наших советов помогут существенно упростить Вам работу с текстовым редактором vi / vim. Ведь большинство операций выполнять намного легче, чем может показаться на первый взгляд. В следующей статье об этом текстовом редакторе мы еще сильнее прокачаем Ваш скилл!

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

А если вы получили несколько навыков в vi / vim, то подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, Новости

Метки:

,

Больше похожих постов

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

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню