:s/{шаблон}/{строка}/ заменяет {шаблон} на {строку} и заменает первое вхождение.
:s/{шаблон}/{строка}/g заменяет все вхождение шаблона в строке.
:s/{шаблон}/{строка}/2 заменяет первое вхождение шаблона в двух строках.
Какую команду использовать, для того чтоб заменить второе вхождение шаблона в строке?
Заменить не первое вхождение шаблона в строке
Модератор: /dev/random
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
-
- Сообщения: 8
Re: Заменить не первое вхождение шаблона в строке
Vim для такого не предназначен?
Мне не нравятся подобные отличия синтаксиса Vim и Sed.
И для изменения файла используется такая команда:
Каманда (sed) применаяется для заданного диапазона (%).
Если диапазон не указать, то команда выполниться без изменения файла.
Мне не нравятся подобные отличия синтаксиса Vim и Sed.
И для изменения файла используется такая команда:
Код:
:%!sed 's/{шаблон}/{строка}/2'
Каманда (sed) применаяется для заданного диапазона (%).
Если диапазон не указать, то команда выполниться без изменения файла.
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Заменить не первое вхождение шаблона в строке
sed это Тьюринг-полный язык программирования. Там свой синтаксис. Vim это текстовый редактор, и его команда s в общем-то никакого отношения к s из sed не имеет.
я использовал % в другом смысле и контексте. Так тоже можно.
-
- Сообщения: 8
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Заменить не первое вхождение шаблона в строке
я в курсе. Откуда мне знать, чего вы хотите? Моя команда ничего не делает, и нужна для демонстрации.
-
- Сообщения: 8
Re: Заменить не первое вхождение шаблона в строке
Вообще я хотел узнать: можно ли, только средствами Vim заменить один шаблон на другой (если этот шаблон встречается в строке несколько раз).
-
- Модератор
- Сообщения: 4823
- Статус: фанат консоли (=
- ОС: GNU/Debian, RHEL
Re: Заменить не первое вхождение шаблона в строке
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
The more you believe you don't do mistakes, the more bugs are in your code.