Запитання з тегом «substitute»

Будь-яка операція, що включає підстановку тексту, засновану на регулярному вираженні, наприклад команду ex-mode `: s`. Не плутати з тегом [замінити].

3
Заміна чистим vimscript (без `: s`)
У моєму vimrc є таке: func! AddSpaceBeforeEqual() s/\([a-z)_0-9"'\[\]]\)=/\1 =/ge endfunc Я використовую vint, щоб обличити свій vimrc, і я отримав таке попередження: ProhibitCommandWithUnintendedSideEffect Уникайте команд з непередбачуваними побічними ефектами. Уникайте використання: s [ubstitute], оскільки він переміщує курсор і друкує повідомлення про помилки. Кращі функції (наприклад, пошук ()) краще підходять для …

1
Глобальна заміна Vim не визначає всіх матчів у рядку
іноді мої глобальні підпункти не замінюють усіх збігів у рядку. Це підтверджується тим, що я бачу це, коли я роблю заміни з підтвердженням, відповідність виявляється в рядку з декількома можливими збігами, але потім вона переходить до іншого рядка. Я використовую параметри gабо, що gcпрацюють на весь файл із %. У …
12 substitute 

1
Як замінити в декількох рядках?
Я хотів би вставити слово в кілька рядків, чи є якась така команда :[2,3,5,7,11]s/^/word\ /g який би вставити wordна початку рядка 2, рядок 3, рядок 5, рядок 7 та рядок 11? Тут кілька рядків не є суміжними.

6
Як додати якийсь рядок у кінці файлу, лише якщо його ще немає?
Я хотів би відредагувати файл на місці, додавши рядок, лише якщо він ще не існує, щоб зробити мій скрипт захисним. Зазвичай я б робив щось на кшталт: cat >> ~/.bashrc <<EOF export PATH=~/.composer/vendor/bin:\$PATH EOF Це також можна зробити за допомогою ansible ( line+ insertafter=EOF+ regexp), але це вже інша історія. …

4
Обмеження операцій до розділу коду
У моєму щоденному робочому житті багато разів мені потрібно працювати над певною функцією, такі як виділення чи пошук змінної, але мені ніколи не вдалося обмежити область редагувань / пошуку. Чи є спосіб vim вибірково сказати, знайти всі посилання на $colorці набори дужок або на цю складку тощо. Якщо можливо, ідеально …

1
Застосувати команду звичайного режиму до регулярних збігів
Я використовую наступний регулярний вираз для відповідності рядку документації під визначенням функції Clojure: \vdefn.*\n\s*\zs"([^"]|\n)*" Чи є спосіб запустити команду звичайного режиму gq(рядки формату) для всіх збігів цього шаблону у заданому файлі?

1
Як отримати попередній перегляд команди підстановки?
Досить часто я знаходжу себе в необхідності здійснити заміну, яка матиме розбиті збіги у великому файлі та з нетривіальними виразами пошуку та заміни. Наприклад, скажіть, у мене є такі функції, як дзвінки okFunction(arg1, arg2 arg3). Звичайно, аргументи будуть відрізнятися з кожним викликом функції. Тепер скажіть, що я виявив кращу функцію, …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.