#regex #vim
#регулярное выражение #vim
Вопрос:
У меня есть текстовый файл со многими операторами, такими как: «1», «23»,….. и т.д., и я хочу заменить эти вхождения на 1, 23, … и т.д. Это просто удаление кавычек. Как я могу сделать это в VIM?
Комментарии:
1. возможно, вам следует запустить
vimtutor
.
Ответ №1:
Используйте :
:%s/"(d )"/1/g
Что означает: замените любую последовательность цифр между двойными кавычками на саму последовательность цифр.
Для получения дополнительной информации:
:help :s
:help pattern
Комментарии:
1. Полезный пример команды поиска, но ИМХО просто
s/"//g
сделать «просто удалить кавычки», как указано в вопросе
Ответ №2:
Затем вы вводите esc:
:%s/"([0-9]*)"/1/g
Это заменит шаблон: «любые цифры» на любые цифры.
Обратите внимание, что это 1
будет реплицировать то, что было сопоставлено в этих: ( )
Комментарии:
1. Это также приведет к удалению любой пары последовательных двойных кавычек без цифр внутри.
Ответ №3:
Вы можете сделать это следующим образом —
:%s/"(d )"/1/c
Комментарии:
1.
/c
будет запрашиваться подтверждение, и только один раз за строку. Вы, по крайней мере, хотите также добавитьg
флаг.