vim: заменить строку специальными символами на строку, содержащую специальные символы - PullRequest
0 голосов
/ 31 марта 2020

Я хочу заменить (несколько раз) строку специальными символами другой строкой, которая также содержит специальные символы.

Пример:

Я хочу заменить (path + "\\ на (os.path.join(path, "

вход:

open(path + "\\filename.bin")

выход :

open(os.path.join(path, "filename.bin"))

Я мог бы использовать /\Vopen(path + "\\\\ для поиска их экземпляров, - Это нормально работало

и заменить, я попытался: %s:/\Vopen(path + "\\\\/(os.path.join(path, "/gc, но это не сработало

Пожалуйста, помогите мне здесь.

Кроме того, можем ли мы иметь начало маркера, например «любая строка» (кавычки) для полной строки?

как мы используем в grep -rni 'text-to match ( ; "' dir/ здесь кавычка '' используется для обозначения начала и конца строки.

1 Ответ

1 голос
/ 31 марта 2020

Вам нужно набрать :%s ..., а не %s: .... Вот исправленная строка:

:%s/\Vopen(path + "\\\\/(os.path.join(path, "/gc

Разделитель строк здесь /:

:%s/\Vopen(path + "\\\\/(os.path.join(path, "/gc
   ^                   ^                     ^
...