Инициализация поиска в vi перед запуском

Я использую небольшую программу, которую я написал, которая принимает шаблон регулярного выражения в качестве параметра и ищет файлы 2000+. Файлы находятся в иерархии каталогов.

Шаблон может быть в нескольких файлах и несколько раз в любом файле. После поиска имен файлов и строк, на которых происходит шаблон, программа вызывает vi с +line для первого номера строки и всех найденных им файлов.

Теперь все работает, но в одно время я попытался указать +line для каждого файла ( vi +2 x1 +5 x2 ), но это получает курсор в строке 5 в x1 и строке 1 в x2 , а не в том, что я хотел, поэтому Я отбросил эту идею.

Шаблоны часто сложны, и я не хочу вводить их дважды, поэтому теперь я иногда использую copy и paste для поиска следующей строки в vi . Что было бы здорово, это настроить историю поиска vi с помощью шаблона, затем я мог бы использовать / + + Return , без повторного набора или копирования / вставки, чтобы найти все шаблоны. Затем я могу использовать :n! для перехода к следующему файлу и продолжения использования шаблона.

Похоже, что шаблон хранится .viminfo в моем каталоге. Могу ли я просто обновить этот файл перед запуском vi или есть ли какая-то библиотека или утилита командной строки?

One Solution collect form web for “Инициализация поиска в vi перед запуском”

Нет необходимости ~/.viminfo файл ~/.viminfo .

Когда вы используете vim вы можете использовать параметр командной строки +/pattern чтобы получить курсор на строке шаблона. После этого вы можете использовать n, чтобы перейти к следующим вхождениям (если не в начале строки, это будет первым в противном случае второе вхождение).

На странице руководства говорится, что курсор будет в первом вхождении шаблона, но по моему опыту он находится на первом символе строки с этим шаблоном. На странице vim man :

 +/{pat} For the first file the cursor will be positioned on the first occurrence of {pat}. See ":help search-pattern" for the available search patterns. 
  • vim - как я могу «изменить слово» с помощью текущего пастообразного буфера
  • При запуске выделите теги и теги отображения в окне предварительного просмотра
  • `crontab -e: E212: не удается открыть файл для записи` при использовании gvim (работает с vi)
  • Vim, как создать файл .swp вручную?
  • Как переписать строки текста в vi / vim?
  • Переключить VI, чтобы использовать клавишу backspace вместо Control + H для backspace?
  • vim поиск имени подстрочной переменной с помощью *
  • Как удалить все строки в файле с помощью vi?
  • Как я могу использовать vi для редактирования строки подсказки утилиты?
  • lookbehind и использовать его с grep в Vi?
  • Использование клавиш VI для редактирования команд оболочки в UNIX
  • Interesting Posts

    Могу ли я запускать команду с определенными привилегиями в определенных каталогах?

    find * ищет файл с именем «*» на Debian, но не на RHEL

    Удалите повторяющиеся строки, сохраняя порядок строк

    Как дублировать абзац с одной измененной строкой

    Удалите строки между двумя шаблонами, но только если у них есть определенная строка между ними

    Могу ли я монтировать раздел из образа полного диска?

    «На» рабочие места застряли?

    Удаление дубликатов каждого X числа строк

    Cinnamon 2.2 Как добавить пользовательский shortuct: переместить рабочее пространство вверх

    .exrc файл в домашнем каталоге не эффективен

    Почему foo = bar отличается от foo = bar?

    Установка переменной в каталог ~ / не расширяется

    Создавать списки номеров страниц для двухсторонней двусторонней печати: 2,3, … и 1,4, …

    Использование скрипта без файла синхронизации

    Как использовать wget для загрузки всех ссылок с моего сайта и сохранения в текстовый файл?

    Linux и Unix - лучшая ОС в мире.