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

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

Рубрики:

Linux, Новости

Метки:

, ,

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

  • LFCS;
  • LFCE;
  • RHCSA;
  • RHCE.

Конечно же, соответствующие навыки гарантировано потребуются и после трудоустройства. И необходимы для решения множества реальных задач в сфере системного администрирования. Потому давайте поскорее перейдем к следующей порции полезных советов по использованию текстового редактора Vi / Vim в ОС семейства GNU / Linux.

Содержание:

  1. Советы, которые помогут вам лучше освоить vi / vim
    1. Совет №8: пользуйтесь горизонтальными и вертикальными окнами
    2. Совет №9: меняйте регистр (на ВЕРХНИЙ или нижний) для отдельного символа, слова или целой строки
    3. Совет №10: удаляйте в режиме INSERT символы, слова или начало строки
    4. Совет №11: копируйте или перемещайте (вырезайте) в другую часть документа целые строки
    5. Совет №12: считайте количество совпадений в результатах поиска по заданному шаблону и переходите от совпадения к совпадению
    6. Совет №13: выбирайте, какую строку показать при открытии vi / vm
    7. Совет №14: настраивайте среду для редактора vi / vim
    8. Совет №15: читайте справку по vi / vim с помощью vimtutor
  2. Выводы

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

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

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

Безусловно, каждый пользователь рано или поздно сталкивается с необходимостью редактирования нескольких файлов одновременно. Или же разных участков одного и того же текстового файла. К счастью, создатели утилиты предусмотрели и такую возможность vi / vim можно запустить в режиме разделения экрана на несколько окон — как вертикально, так и горизонтально.

Давайте попробуем для начала создать в vi / vim два горизонтальных окна — назовем их test1 и test2. Для этого введите в командную строку команду со следующими опциями и аргументами:

 

8 интересных советов и рекомендаций для редактора «Vi / Vim» -- часть 2

 

Как видите, программа запустилась с горизонтальным разделителем между двумя отдельными окнами. Теперь попробуем повторить процедуру, но на этот раз — вызовем два вертикальных окна vi / vim — назовем их test3 и test4. С этой целью введите в командную строку Линукс команду со следующими параметрами:

 

Launch-Vim-Editor-in-Vertical-Windows

 

Однако у некоторых пользователей сразу же возникнет важный вопрос — как переключаться между окнами? К счастью, сделать это довольно просто — с помощью следующих горячих клавиш vi / vim:

  • h (right) — вправо;
  • l (left) — влево;
  • j (bottom) — вниз;
  • k (top) — вверх.

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

 

Совет №9: меняйте регистр (на ВЕРХНИЙ или нижний) для отдельного символа, слова или целой строки

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

  • поместите курсор на первую букву слова и введите gUX в ex-режиме, после чего нажмите стрелку вправо на клавиатуре — это изменит заданную последовательность букв на верхний регистр;
  • поместите курсор в начало слова и введите gUXw в ex-режиме — это изменит регистр количества слов, равного X, на верхний;
  • поместите курсор в любом месте строки и введите gUU в ex-режиме — это изменит регистр всей строки на верхний.

Стоит отметить, что в данных примерах X — это целое число. Тогда как для перевода символов, слов и строк в нижний регистр просто вводите в ex-режиме guX, guXw и guu соответственно.

 

8 интересных советов и рекомендаций для редактора «Vi / Vim» -- часть 2

 

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

 

Convert-String-to-Lowercase-in-Vim-Editor

Совет №10: удаляйте в режиме вставки (insert) символы, слова или начало строки

Стоит отметить, что удалять символы, слова и фрагменты текста можно не только в ex-режиме (например, командой Dw для удаления слова). Помимо всего прочего, в vi / vim предусмотрена возможность удаления в режиме вставки (insert):

  • Ctrl + h — для удаления предыдущего символа от того места, где находится курсор;
  • Ctrl + w — для удаления предыдущего слова от того места, где находится курсор (курсор нужно поместить после слова, которое вы хотите удалить);
  • Ctrl + u — для удаления текущей строки, начиная с символа, который расположен слева от курсора.

Совет №11: копируйте или перемещайте (вырезайте) в другую часть документа целые строки

Конечно же, для удаления, копирования и вставки строк вы можете использовать dd, yy и p в ex-режиме и yank. Однако они требуют расположения курсора ровно в том месте, в котором вы хотите выполнить операцию. С другой стороны, команды копирования и перемещения помогут выполнить все перечисленные операции независимо от позиционирования курсора.

Прежде всего, отобразим в редакторе vi / vim номера строк текстового файла — введем : set nu в ex-режиме. Теперь давайте попробуем скопировать третью строку под пятую — просто введем в ex-режиме 3copy5.

 

8 интересных советов и рекомендаций для редактора «Vi / Vim» -- часть 2

 

Скорее всего, при копировании вы не всегда правильно будете указывать номер строки. Потому полезно иметь возможность отменить изменения, чтобы повторить процедуру заново. К счастью, в этом поможет комбинация Esc + u. Верните текстовый файл в первоначальный вид и попробуйте поставить седьмую строку на место первой — введя в ex-режиме команду 1move7. Стоит отметить, что строки со второй по седьмую сдвинулись вперед, а первая строка занимает место седьмой.

 

Move-Lines-in-Vim-Editor

 

Совет №12: считайте количество совпадений в результатах поиска по заданному шаблону и переходите от совпадения к совпадению

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

 

Это важно: ни в коем случае не стоит убирать из команды ни одну косую черту («/»).

 

Давайте попробуем найти в тексте фрагмент SEDICOMM:

 

8 интересных советов и рекомендаций для редактора «Vi / Vim» -- часть 2

 

Помимо всего прочего, переключаться между вхождениями в порядке их обнаружения также довольно просто. Для этого в ex-режиме нажмите клавишу n. Тогда как для возвращения к предыдущему вхождению — нажмите N.

Совет №13: выбирайте, какую строку показать при открытии vi / vm

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

 

Давайте попробуем команду на практике. Для этого откройте файл example.txt, чтобы курсор автоматически был помещен на седьмую строку:

 

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

 

Давайте подробнее рассмотрим, что делает команда:

  • grep -in pattern filename — отображает все строки с шаблоном pattern их номерами в начале;
  • sed -n 3p — отображает третью по счету строку, полученную по конвейеру от предыдущей команды (конвейер — это последовательность процессов, в которой вывод предыдущего становится вводом следующего);
  • cut -d: -f1 — возвращает первое поле предыдущего конвейера с двоеточием («:»), позволяя разделить поля.

 

Чтобы наглядно увидеть разницу — давайте попробуем ввести команды без конвейера, постепенно вводя его элементы из примера выше:

 

Open-Vim-Editor-in-Specified-Line

 

В полной версии команды результаты работы конвейера передаются в  vi / vim, чтобы поместить курсор при открытии в соответствующей строке.

Совет №14: настраивайте среду для редактора vi / vim

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

  • автоматическое отображение номеров строк после запуска утилиты;
  • автоматический отступ при нажатии клавиши «Ввод» (Enter);
  • выполнение отступа с заданным количеством пробелов и многое другое.

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

Совет №15: читайте справку по vi / vim с помощью vimtutor

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

 

8 интересных советов и рекомендаций для редактора «Vi / Vim» -- часть 2

 

Это важно: навигация по файлу справки vimtutor осуществляется так же, как и по любым текстовым файлам в редакторе vi/vim.

Выводы

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

Метки:

, ,

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

2 комментария. Оставить новый

  • Доброго дня.
    Не виходить виконати команду з поради №13, а саме
    # vim filename + $ (grep -in pattern filename | sed -n 3p | cut -d: -f1) .
    vim не отримує значення рядка в результаті виконання цієї команди і просто відкриває файл, навіть, без нумерації строк. Будь-ласка продемонструйте результат виконання даної команди.

    Ответить
  • Исходя из названия статьи возникает вопрос, – “а где первая часть?”, – т.к. поиск результата не дал.

    Ответить

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

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

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

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