В предыдущей статье этой серии мы рассмотрели 7 советов и приемов, которые можно добавить к вашему набору навыков vi / m. Помимо причин, указанных ранее, необходимо научиться эффективно использовать текстовый редактор в Linux. для системного администратора или инженера и является необходимой компетенцией для прохождения любой основной программы сертификации Linux (например, в виде LFCS, LFCE, RHCSA, и RHCE).
Тем не менее, давайте приступим.
Этим советом поделился Йоандер, один из наших читателей, в Часть 1. Вы можете запустить vi / m с несколькими горизонтальными или вертикальными делениями для редактирования отдельных файлов в одном главном окне:
Запуск в / м с двумя горизонтальными окнами, с test1 наверху и test2 внизу
# vim -o test1 test2
Пуск в / м с двумя вертикальными окнами, с test3 слева и test4 справа:
# vim -O test3 test4
Вы можете переключать курсор из одного окна в другое с помощью обычной процедуры перемещения vi / m (час: верно, l: левый, j: Нижний, k: вершина):
Обратите внимание, что этот совет работает только в vim. В следующих примерах Икс целое число.
Например, чтобы преобразовать весь строчная буква линия к верхний регистр, вы должны поместить курсор в любое место строки и ввести гуу:
Например, чтобы преобразовать 2 заглавные буквы слова для строчная буква, вы должны поместить курсор в начало первого слова и ввести gu2w:
Пока можно удалять символы или сразу несколько слов в бывший режим (т.е. dw для удаления слова), вы также можете сделать это в режиме вставки следующим образом:
Хотя это правда, что вы можете использовать хорошо известные команды dd, yy и p в режиме ex для удаления, восстановления (копирования) и вставить строки, соответственно, что работает только тогда, когда курсор находится там, где вы хотите выполнить те операции. Хорошая новость в том, что с копировать и двигаться команды вы можете делать то же самое независимо от того, где в данный момент находится курсор.
В следующем примере мы будем использовать короткое стихотворение под названием «Навсегда" по Терри Николь Таррингтон. Для начала заставим vim отобразить номера строк (: установить ню в командном режиме - считайте это дополнительным советом). Мы будем использовать : 3copy5 (также в командном режиме), чтобы скопировать строку 3 ниже строки 5:
Теперь отмените последнее изменение (Esc + u - еще один бонусный совет!) И введите : 1move7 заменить строку 7 строкой 1. Обратите внимание, как строки со 2 по 7 сдвинуты вверх, а бывшая строка 1 теперь занимает строку 7:
Этот совет основан на заменяющей команде (подсказка #7 в Часть 1 из этой серии), за исключением того, что он ничего не удалит, поскольку замещающее поведение отменяется п опция, в результате чего подсчитывается количество вхождений указанного шаблона:
Убедитесь, что вы не пропустили косую черту!
:% s / шаблон // gn
Например,
:% s / libero // gn.
Чтобы перейти от одного экземпляра паттерна к следующему в бывший режим, нажмите п (строчная N). Чтобы перейти к предыдущему экземпляру, нажмите N.
По умолчанию, когда вы запускаете vi / m, курсор изначально помещается в последнюю отредактированную строку. Если вы хотите открыть программу и поместить курсор непосредственно на указанную строку, вы можете использовать следующий трюк:
# vim имя_файла + номер_строки.
Например, откройте forever.txt и поместите курсор в строку 6:
# vim forever.txt +6.
Давайте немного подправим этот пример. Предположим, мы хотим открыть файл в строке, где появляется третье вхождение шаблона:
# vim filename + $ (grep -in имя файла шаблона | sed -n 3p | cut -d: -f1)
Давайте подробнее рассмотрим, что делает приведенная выше команда:
Наконец,
# grep -in forever forever.txt. # grep -in forever forever.txt | sed -n 3p. # grep -in forever forever.txt | sed -n 3p | вырезать -d: -f1.
Затем результат предыдущей команды передается в vi / m, чтобы открыть программу в указанной строке.
Если вы используете vi / m для редактирования файлов конфигурации или для написания кода, вы захотите иметь возможность отображать номера строк при первом открытии программы и установить автоматический отступ, чтобы при нажатии в Войти, курсор автоматически переместится в нужное место. Кроме того, вы можете настроить количество пробелов, которые занимает вкладка.
Хотя вы можете делать это каждый раз при запуске vi / m, эти параметры проще настроить в ~ / .vimrc
чтобы они применялись автоматически:
установить номер. установить автоотступ. установите shiftwidth = 4. установите softtabstop = 4. установить expandtab.
Для получения дополнительных сведений о настройке среды vi / m вы можете обратиться к онлайн-документация по vim.
Если вам когда-нибудь понадобится освежить свои общие навыки vi / m, вы можете запустить vimtutor из командной строки, которая отобразит полную справку vi / m, к которой вы можете обращаться так часто, как захотите, без необходимости запускать веб-браузер для поиска того, как выполнить определенную задачу в vi / m.
# vimtutor.
Обратите внимание, что вы можете перемещаться или искать содержимое vimtutor, как если бы вы перемещались по обычному файлу в vi / m.
В этой серии из двух статей я поделился несколькими советами и приемами vi / m, которые помогут вам более эффективно редактировать текст с помощью инструментов командной строки. Я уверен, что у вас должны быть и другие, поэтому не стесняйтесь поделиться ими с остальной частью сообщества, используя форму ниже. Как всегда, также приветствуются вопросы и комментарии.