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

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

Рубрики:

Linux, Новости

Метки:

,

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

  • nano;
  • vi / vim;
  • emacs.

Конечно же, vi / vim — самый многофункциональный и он же самый распространенный вариант. Потому давайте учиться работать с ним на профессиональном уровне.

Содержание:

  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. Скорее всего, вы уже сталкивались с ним при изучении Linux. В том случае, если нет — прочтите нашу статью «Использование vi/vim в виде основного текстового редактора». Также рекомендуем вашему вниманию вторую часть этой статьи — «8 интересных советов и рекомендации для редактора vi / vim».

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

Запустите утилиту vim и нажмите клавишу F1 (либо используйте клавишу h в режиме ex, чтобы войти в режим интерактивной справки). Стоит отметить, что можно перейти сразу к определенному разделу справки. Для этого поместите на него курсор и нажмите комбинацию клавиш Ctrl +] (Ctrl и закрывающая квадратная скобка).

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

Скорее всего, наиболее простым и при этом наглядным примером будет поиск, в котором ключевым словом является символ x.

 

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

Полезные советы и подсказки для повышения ваших навыков в Vi/Vim -- часть 1

 

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

 

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

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

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

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

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

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

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

 

Marks-Usage-in-Vim-Editor

 

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

 

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

Скорее всего, в работе системного администратора часто возникает необходимость в изучении чужих скриптов оболочки.

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

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

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

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

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

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

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

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

Прежде всего остального, нажмите сочетание клавиш Ctrl + v в режиме вставки. После чего нажмите клавишу u и сразу шестнадцатеричный цифровой код нужного вам спецсимвола. Стоит отметить, что коды следует брать из таблицы Unicode.

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

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

 

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

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

 

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

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

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

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

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

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

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

 

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

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

 

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

 

Полезные советы и подсказки для повышения ваших навыков в Vi/Vim -- часть 1

 

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

  • 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.
Вы должны согласиться с условиями для продолжения

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

Свежие комментарии

Меню