Linux редактор vi поиск

Linux редактор vi поиск

фЕЛУФПЧЩН ТЕДБЛФПТПН (text editor) ОБЪЩЧБАФ РТПЗТБННХ, ЛПФПТБС РТЕДОБЪОБЮЕОБ ДМС ТЕДБЛФЙТПЧБОЙС (УПУФБЧМЕОЙС Й ЙЪНЕОЕОЙС) ЖБКМПЧ, УПДЕТЦБЭЙИ ФПМШЛП ФЕЛУФ, ОБРТЙНЕТ: РЙУШНП, РТПЗТБННБ ОБ СЪЩЛЕ C, УЙУФЕНОЩК ЛПОЖЙЗХТБГЙПООЩК ЖБКМ. рТЙ ФПН, ЮФП ЙНЕЕФУС НОПЗП ТБЪМЙЮОЩИ ТЕДБЛФПТПЧ ДМС УЙУФЕНЩ Linux, ЕДЙОУФЧЕООЩК, ЮШЈ РТЙУХФУФЧЙЕ ВХДЕФ ЗБТБОФЙТПЧБОП Ч МАВПК УЙУФЕНЕ UNIX ЙМЙ Linux љ— ЬФП vi (visual editor). тЕДБЛФПТ vi ОЕ СЧМСЕФУС УБНЩН РТПУФЩН Ч ЙУРПМШЪПЧБОЙЙ, Й ЕЗП ЙОФЕТЖЕКУ ОЕ ПЮЕОШ РПОСФЕО УБН РП УЕВЕ. пДОБЛП ЧЧЙДХ УЧПЕК ТБУРТПУФТБОЈООПУФЙ, Б ПФЮБУФЙ Й РПФПНХ, ЮФП ЧМБДЕОЙЕ ЙН Ч ОЕЛПФПТЩИ УЙФХБГЙСИ ОЕПВИПДЙНП, ЕНХ РПУЧСЭБЕФУС ЧОЙНБОЙЕ Ч ЬФПК ЛОЙЗЕ.

чЩВПТ ФЕЛУФПЧПЗП ТЕДБЛФПТБ ПВЩЮОП СЧМСЕФУС ЧПРТПУПН ЙОДЙЧЙДХБМШОПЗП ЧЛХУБ. нОПЗЙЕ РПМШЪПЧБФЕМЙ РТЕДРПЮЙФБАФ РЩЫОЩК, НПЭОЩК Й ОБДЕМЈООЩК РПДУЛБЪЛБНЙ ТЕДБЛФПТ emacs. ьФПФ ТЕДБЛФПТ ЙНЕЕФ ВПМШЫЕ ЖХОЛГЙК, ЮЕН МАВБС ДТХЗБС РТПЗТБННБ Ч НЙТЕ UNIX. л РТЙНЕТХ, Ч ТЕДБЛФПТЕ emacs ЙНЕЕФУС УПВУФЧЕООЩК ЧУФТПЕООЩК ДЙБМЕЛФ СЪЩЛБ РТПЗТБННЙТПЧБОЙС LISP. лТПНЕ ФПЗП, Х ЬФПЗП ТЕДБЛФПТБ ЙНЕЕФУС НОПЦЕУФЧП ТБУЫЙТЕОЙК (ПДОП ЙЪ ОЙИ љ— РТПЗТБННБ ЙУЛХУУФЧЕООПЗП ЙОФЕММЕЛФБ ФЙРБ РТПЗТБННЩ Eliza). пДОБЛП, РПУЛПМШЛХ УБН ТЕДБЛФПТ Й ЖБКМЩ, ЛПФПТЩЕ ЕЗП РПДДЕТЦЙЧБАФ, УТБЧОЙФЕМШОП ЧЕМЙЛЙ, ЬФПФ ТЕДБЛФПТ НПЦЕФ ОЕ ВЩФШ ХУФБОПЧМЕО ОБ ОЕЛПФПТЩИ УЙУФЕНБИ. оБРТПФЙЧ, ТЕДБЛФПТ vi СЧМСЕФУС ОЕВПМШЫЙН Й НПЭОЩН, ПДОБЛП ЙУРПМШЪПЧБФШ ЕЗП УМПЦОЕЕ. фЕН ОЕ НЕОЕЕ, РТЙ ЪОБЛПНУФЧЕ У ТЕДБЛФПТПН vi ПО Ч ДЕКУФЧЙФЕМШОПУФЙ ПЛБЪЩЧБЕФУС ПЮЕОШ РТПУФЩН.

ч ЬФПН ТБЪДЕМЕ ДБЈФУС МЙЫШ ЧЧЕДЕОЙЕ Ч vi љ— НЩ ВХДЕН ПВУХЦДБФШ ОЕ ЧУЕ ЕЗП ЖХОЛГЙЙ, Б МЙЫШ ОХЦОЩЕ ДМС ФПЗП, ЮФПВЩ ОБЮБФШ ТБВПФБФШ Ч ОЕН. дПРПМОЙФЕМШОХА ЙОЖПТНБГЙА НПЦОП РПМХЮЙФШ ЙЪ ЬЛТБООПК ДПЛХНЕОФБГЙЙ Л ЛПНБОДЕ vi .

пУОПЧОЩЕ РПОСФЙС

ч МАВПК НПНЕОФ РТЙ ТБВПФЕ Ч ТЕДБЛФПТЕ vi ЧЩ ОБИПДЙФЕУШ Ч ПДОПН ЙЪ ФТЈИ ТЕЦЙНПЧ ТЕДБЛФПТБ: ЛПНБОДОЩК ТЕЦЙН (command mode), ТЕЦЙН ЧЧПДБ (insert mode) Й ТЕЦЙН РПУМЕДОЕК УФТПЛЙ (last line mode).

рТЙ ЪБРХУЛЕ ТЕДБЛФПТБ vi ЧЩ ПЛБЪЩЧБЕФЕУШ Ч ЛПНБОДОПН ТЕЦЙНЕ. ч ЬФПН ТЕЦЙНЕ НПЦОП ДБЧБФШ ЛПНБОДЩ ДМС ТЕДБЛФЙТПЧБОЙС ЖБКМПЧ ЙМЙ РЕТЕКФЙ Ч ДТХЗПК ТЕЦЙН. оБРТЙНЕТ, ЧЧПДС x Ч ЛПНБОДОПН ТЕЦЙНЕ НЩ ХДБМСЕН УЙНЧПМ, ОБ ЛПФПТЩК ХЛБЪЩЧБЕФ ЛХТУПТ. лМБЧЙЫЙ-УФТЕМЛЙ РЕТЕНЕЭБАФ ЛХТУПТ РП ТЕДБЛФЙТХЕНПНХ ЖБКМХ. лБЛ РТБЧЙМП, ЛПНБОДЩ, ЙУРПМШЪХЕНЩЕ Ч ЛПНБОДОПН ТЕЦЙНЕ, УПУФПСФ ЙЪ ПДОПЗП ЙМЙ ДЧХИ УЙНЧПМПЧ.

пУОПЧОПК ЧЧПД Й ТЕДБЛФЙТПЧБОЙЕ ФЕЛУФБ ПУХЭЕУФЧМСЕФУС Ч ТЕЦЙНЕ ЧЧПДБ. рТЙ ЙУРПМШЪПЧБОЙЙ ТЕДБЛФПТБ vi ПУОПЧОПЕ ЧТЕНС, УЛПТЕЕ ЧУЕЗП, ВХДЕФ РТПЧПДЙФШУС ЙНЕООП Ч ЬФПН ТЕЦЙНЕ. рЕТЕИПД Ч ТЕЦЙН ЧЧПДБ ЙЪ ЛПНБОДОПЗП ТЕЦЙНБ ПУХЭЕУФЧМСЕФУС ЛПНБОДПК i (ПФ УМПЧБ insert). оБИПДСУШ Ч ТЕЦЙНЕ ЧЧПДБ, НПЦОП ЧЧПДЙФШ ФЕЛУФ Ч ФП НЕУФП, ЛХДБ ХЛБЪЩЧБЕФ ЛХТУПТ. чЩИПД ЙЪ ТЕЦЙНБ ЧЧПДБ Ч ЛПНБОДОЩК ТЕЦЙН ПУХЭЕУФЧМСЕФУС ЛМБЧЙЫЕК Esc .

тЕЦЙН РПУМЕДОЕК УФТПЛЙ љ— ЬФП УРЕГЙБМШОЩК ТЕЦЙН, Ч ЛПФПТПН ТЕДБЛФПТХ ДБАФУС УМПЦОЩЕ ЛПНБОДЩ. рТЙ ЧЧПДЕ ЬФЙИ ЛПНБОД ПОЙ ПФПВТБЦБАФУС Ч РПУМЕДОЕК УФТПЛЕ ЬЛТБОБ (ПФУАДБ РПЫМП ОБЪЧБОЙЕ ТЕЦЙНБ). оБРТЙНЕТ, ЕУМЙ ЧЧЕУФЙ Ч ЛПНБОДОПН ТЕЦЙНЕ ЛПНБОДХ : , ФП ПУХЭЕУФЧЙФУС РЕТЕИПД Ч ТЕЦЙН РПУМЕДОЕК УФТПЛЙ, Й НПЦОП ВХДЕФ ЧЧПДЙФШ ФБЛЙЕ ЛПНБОДЩ, ЛБЛ wq (ЪБРЙУБФШ ЖБКМ Й РПЛЙОХФШ ТЕДБЛФПТ vi ) ЙМЙ q! (ЧЩКФЙ ЙЪ ТЕДБЛФПТБ vi ВЕЪ УПИТБОЕОЙС ЙЪНЕОЕОЙК). ч ТЕЦЙНЕ РПУМЕДОЕК УФТПЛЙ ПВЩЮОП ЧЧПДСФУС ЛПНБОДЩ, ОБЪЧБОЙЕ ЛПФПТЩИ УПУФПЙФ ЙЪ ОЕУЛПМШЛЙИ УЙНЧПМПЧ. ч ЬФПН ТЕЦЙНЕ Ч РПУМЕДОАА УФТПЛХ ЧЧПДЙФУС ЛПНБОДБ, РПУМЕ ЮЕЗП ОБЦЙНБЕФУС ЛМБЧЙЫБ Enter , Й ЛПНБОДБ ЙУРПМОСЕФУС.

Читайте также:  Сборки линукс минт от алексея лучшие

ъБРХУЛ ТЕДБЛФПТБ vi

оБЙМХЮЫЙН УРПУПВПН ХСУОЙФШ ДМС УЕВС ЧУЕ ЛПОГЕРГЙЙ ТЕДБЛФПТБ vi ВХДЕФ ЪБРХУФЙФШ ЕЗП Й ПФТЕДБЛФЙТПЧБФШ Ч ОЕН ОЕЛПФПТЩК ЖБКМ. ч РТЙЧПДЙНЩИ ОЙЦЕ « ЬЛТБОЮЙЛБИ » ВХДЕФ РПЛБЪБОП ЧУЕЗП ОЕУЛПМШЛП УФТПЛ ФЕЛУФБ, ЛБЛ ВХДФП ФЕЛУФПЧЩК ЬЛТБО ЙНЕЕФ РП ЧЩУПФЕ ЧУЕЗП 6 УФТПЛ ЧНЕУФП 24. уЙОФБЛУЙУ ТЕДБЛФПТБ vi ФБЛПЧ:

ЗДЕ filenameљ— ЙНС ЖБКМБ, ЛПФПТЩК ОБДП ТЕДБЛФЙТПЧБФШ.

ъБРХУФЙН ТЕДБЛФПТ vi Й УПЪДБДЙН ОПЧЩК ЖБКМ РП ЙНЕОЙ test ЛПНБОДПК

оБ ЬЛТБОЕ ВХДЕФ РТЙНЕТОП УМЕДХАЭБС ЛБТФЙОЛБ:

ПВПЪОБЮБЕФ РХУФЩЕ УФТПЛЙ, ЙОБЮЕ ЗПЧПТС, ХЛБЪЩЧБЕФ, ЮФП НЩ ОБИПДЙНУС Ч ЛПОГЕ ЖБКМБ. уЙНЧПМ _ ПВПЪОБЮБЕФ ЛХТУПТ.

Источник

Как искать в Vim / Vi

В этой статье описывается, как выполнять поисковые операции в Vim / Vi.

Vim или его предшественник Vi предустановлен в macOS и большинстве дистрибутивов Linux. Поиск текста — одна из самых распространенных задач при работе с файлами. Знание основ Vim может быть очень полезным, когда вы сталкиваетесь с ситуацией, когда ваш любимый редактор недоступен.

Базовый поиск

Для поиска в Vim вы должны быть в обычном режиме. Когда вы запускаете редактор Vim, вы находитесь в этом режиме. Чтобы вернуться в нормальный режим из любого другого режима, просто нажмите клавишу Esc.

Vim позволяет быстро находить текст с помощью / (косая черта) и ? (знак вопроса) команды.

Для поиска вперед нажмите / а для поиска назад нажмите ? , введите шаблон поиска и нажмите Enter чтобы запустить поиск:

Важно отметить, что команда поиска ищет шаблон как строку, а не целое слово. Если, например, вы искали «gnu», поиск совпадет с тем, что «gnu» встроено в слова большего размера, такие как «cygnus» или «magnum».

Нажмите n для поиска следующего вхождения или N в верхнем регистре для поиска в обратном направлении.

Основные шаги для выполнения поиска в Vim следующие:

  1. Нажмите / .
  2. Введите шаблон поиска.
  3. Нажмите Enter чтобы выполнить поиск.
  4. Нажмите n чтобы найти следующее вхождение, или N чтобы найти предыдущее вхождение.

Искать слово целиком

Для поиска всего слова начните поиск, нажав / или ? , введите чтобы отметить начало слова, введите шаблон поиска, введите > чтобы отметить конец слова, и нажмите Enter чтобы выполнить поиск.

Например, для поиска «gnu» вы должны использовать / :

Искать в текущем слове

Вы также можете выполнить поиск целого слова, переместив курсор на слово и нажав * (звездочка) для поиска вперед или # (решетка) для поиска в обратном направлении. Чтобы найти следующее совпадение, снова нажмите * или # .

История поиска

Vim отслеживает все операции поиска, выполненные вами в текущем сеансе. Чтобы просмотреть историю поиска, нажмите / или ? и используйте клавиши со стрелками вверх / вниз, чтобы найти предыдущую операцию поиска. Чтобы запустить поиск, просто нажмите Enter . Вы также можете отредактировать шаблон поиска перед выполнением операции.

Чувствительность к регистру

По умолчанию в результатах поиска учитывается регистр; поиск «GNU» не будет соответствовать «Gnu».

Чтобы игнорировать регистр :set ignorecase или :set ic в командной строке Vim. Вы также можете установить регистр игнорирования как вариант по умолчанию, добавив команду в ваш файл

Чтобы вернуться в режим совпадения регистра, введите :set noignorecase или :set noic .

Другой способ принудительно игнорировать регистр — добавить c после шаблона поиска. Например, /Linuxc выполняет поиск без учета регистра. Верхний регистр C после шаблона приводит к поиску совпадения по регистру.

Читайте также:  Windows network jumbo frames

Выводы

Для поиска в Vim / Vi введите / или ? , введите шаблон поиска и нажмите Enter .

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Источник

Найти и заменить в Vim / Vi

В этой статье описывается, как найти и заменить текст в Vim / Vi.

Vim — самый популярный текстовый редактор командной строки. Он предустановлен в macOS и большинстве дистрибутивов Linux. Найти и заменить текст в Vim быстро и легко.

Базовый поиск и замена

В Vim вы можете найти и заменить текст с помощью команды :substitute ( :s ).

Чтобы запускать команды в Vim, вы должны находиться в обычном режиме, который используется по умолчанию при запуске редактора. Чтобы вернуться в обычный режим из любого другого режима, просто нажмите клавишу «Esc».

Общая форма команды замены следующая:

Команда ищет в каждой строке в [range] и заменяет его . [count] — положительное целое число, умножающее команду.

Если не [range] и [count] , заменяется только шаблон, найденный в текущей строке. Текущая строка — это строка, в которой находится курсор.

Например, чтобы найти первое вхождение строки ‘foo’ в текущей строке и заменить его на ‘bar’, вы должны использовать:

Чтобы заменить все вхождения шаблона поиска в текущей строке, добавьте флаг g

Если вы хотите найти и заменить шаблон во всем файле, используйте процентный символ % в качестве диапазона. Этот символ указывает диапазон от первой до последней строки файла:

Если часть опущена, она рассматривается как пустая строка, и соответствующий шаблон удаляется. Следующая команда удаляет все экземпляры строки ‘foo’ в текущей строке:

Вместо символа косой черты ( / ) можно использовать любой другой однобайтный символ, кроме буквенно-цифрового, кроме разделителя. Этот параметр полезен, если в шаблоне поиска или в строке замены есть символ «/».

Для подтверждения каждой замены используйте флаг c

Нажмите y чтобы заменить совпадение, или l чтобы заменить совпадение и выйти. Нажмите n чтобы пропустить совпадение, и q или Esc чтобы выйти из замены. Параметр a заменяет совпадение и все оставшиеся вхождения совпадения. Для прокрутки экрана вниз используйте CTRL+Y , а для прокрутки вверх используйте CTRL+E

Вы также можете использовать регулярные выражения в качестве шаблона поиска. Приведенная ниже команда заменяет все строки, начинающиеся с ‘foo’ на ‘Vim is the best’:

Символ ^ (каретка) соответствует началу строки, а .* Соответствует любому количеству любых символов.

Чувствительность к регистру

По умолчанию операция поиска чувствительна к регистру; поиск «FOO» не будет соответствовать «Foo».

Чтобы игнорировать регистр для шаблона поиска, используйте флаг i

Другой способ принудительно игнорировать регистр — добавить c после шаблона поиска. Например, /Linuxc выполняет поиск без учета регистра.

Если вы изменили настройку регистра по умолчанию и хотите выполнять поиск с учетом регистра, используйте флаг I

Верхний регистр C после шаблона также приводит к поиску совпадения по регистру.

Диапазон поиска

Если диапазон не указан, подстановочная команда работает только в текущей строке.

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

Например, чтобы заменить все вхождения ‘foo’ на ‘bar’ во всех строках, начиная со строки 3 по строку 10, вы должны использовать:

Диапазон является включительным, что означает, что первая и последняя строки включены в диапазон.

Точка . символ указывает на текущую строку и $ — доллар знак последней строки. Чтобы заменить ‘foo’ во всех строках, начиная с текущей и заканчивая последней:

Спецификатор строки также может быть установлен с помощью символа «+» или «-», за которым следует число, которое добавляется или вычитается из номера предыдущей строки. Если число после символа опущено, по умолчанию используется 1.

Читайте также:  Зачем нужен windows adk

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

Замена всего слова

Команда замены ищет образец как строку, а не целое слово. Если, например, вы искали «gnu», поиск совпадет с тем, что «gnu» встроено в слова большего размера, такие как «cygnus» или «magnum».

Для поиска всего слова введите чтобы отметить начало слова, введите шаблон поиска, введите > чтобы отметить конец слова:

Например, для поиска слова «foo» вы должны использовать :

История замены

Vim отслеживает все команды, которые вы выполняете в текущем сеансе. Чтобы просмотреть историю предыдущих заменяющих команд, введите :s и используйте клавиши со стрелками вверх / вниз, чтобы найти предыдущую заменяющую операцию. Чтобы запустить команду, просто нажмите Enter . Вы также можете отредактировать команду перед выполнением операции.

Примеры

Строки комментариев (добавьте # перед строкой) от 5 до 20:

Раскомментируйте строки с 5 по 20, отмените предыдущие изменения:

Замените все экземпляры «яблоко», «апельсин» и «манго» на «фрукты»:

Удалите завершающие пробелы в конце каждой строки:

Вывод

Поиск и замена — это мощная функция Vim, которая позволяет быстро вносить изменения в текст.

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Источник

Основные команды текстового редактора VI / VIM

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

Открываем файл с помощью vi / vim:

Основные режимы работы.

«Обычный режим» — перемещение по файлу, стирание текста и другие редактирующие функции. Это — основной режим, только из него можно сразу перейти в другие режимы. Для возврата в основной режим из любого другого режима:

«Режим ввода» — ввод текста. Как только завершается ввод текста, принято сразу возвращаться в обычный режим. Заметьте, что стирание и ввод текста происходит в двух разных режимах. Переход в него из обычного режима:

«Командный режим» — Команды (операции с файлом, поиск и замена, настройка редактора…). Переход в него из обычного режима:

«Режим поиска» — ввод поискового запроса. Переход в него из обычного режима

«Визуальный режим» — режим выделения текста:

Перемещение по файлу

После загрузки Vim, на экране вы увидите часть загруженного вами текстового файла. Загрузившись, Vim находится в «командном режиме» — один из основных режимов. Это значит, что если вы нажмете клавишу (строчная L), вместо появления «l» на месте курсора вы увидите, что курсор сдвинулся на один символ вправо. В командном режиме знаки, набираемые на клавиатуре, используются как команды для Vim, а не как помещаемые в текст символы. Команды перемещения — один из наиболее важных типов команд. Вот некоторые из них:

Ввод текста

Следующие команды переводят редактор в режим ввода:

Удаление и вставка

Ниже перечислены основные комманды удаления и вставки текста:

Отмена изменений

Поиск

Перейти на строку:

Выход

Есть еще пара команд, которые вам необходимо знать:

В этой статье описаны основные возможности, необходимые для работы. Практически во все дистрибутивы Linux входит учебник по работе с редактором, — просто введите в командной строке команду vimtutor.

Справка

Для вызова справки (помощи) о редакторе введите в терминале команду:

Источник

Оцените статью