В дополнение к тому, что Carpetsmoker сказал:
Параметр &incsearch
( set incsearch
) в Vim действительно полезен. Вы можете использовать его вместе с полезным и малоизвестным приемом.
Хитрость заключается в том, чтобы опробовать ваше сложное регулярное выражение, просто используя команду /
or ?
. Vim будет использовать &incsearch
настройки для интерактивного отображения матчей. Если вы довольны регулярным выражением, вы можете использовать :%s//replacement
vim для предыдущего поиска.
Обратите внимание, что часть //
пуста (вот где вы помещаете текст для поиска). Если вы оставите это поле пустым, вы скажете Vim использовать предыдущее регулярное выражение поиска. При этом вы можете набрать сложное регулярное выражение с /
и иметь все преимущества set incsearch
, а затем использовать %s//replacement
команду для фактического выполнения поиска и замены.
Если вы хотите что-то похожее на incsearch для :s
команд, посмотрите vim-over , но я просто предпочитаю использовать нативный способ Vim.
:%s/pattern/replace/
а затем нажмитеu
для отмены, вы можете увидеть части, которые Vim изменил, если выhlsearch
включили. И вы можете заменить этот текст снова^R
.