【发布时间】:2010-10-05 02:03:53
【问题描述】:
【问题讨论】:
【问题讨论】:
Neovim 现在有一个功能inccommand 允许您预览替换:
inccommand 有两种选择:
set inccommand=split 在拆分窗格中预览替换set inccommand=nosplit 预览活动缓冲区中的替换图片取自:https://medium.com/@eric.burel/stop-using-open-source-5cb19baca44d 功能文档:https://neovim.io/doc/user/options.html#'inccommand'
【讨论】:
nvim 内置功能,很高兴知道!感谢分享!
添加标志 c(在 vim 命令提示符中):
:%s/old/new/gc
每次出现“旧”时都会给您一个是/否提示。
一旦选择了确认替换,Vim 的内置帮助会提供有关可用选项的有用信息。使用:
:h :s
然后滚动到确认选项部分。截图如下:
例如,要替换此匹配项和所有剩余匹配项,请使用 a。
【讨论】:
如果您的替换文本需要更改每个匹配的匹配项(即不是简单地选择是/否来应用单数替换),您可以使用我制作的名为 interactive-replace 的 Vim 插件。
【讨论】:
如果您只想计算“abc”的出现次数,那么您可以使用%s/abc//gn。这不会替换任何内容,只会报告“abc”的出现次数。
【讨论】:
Mark Biek 指出使用:
%s/old/new/gc
对于全局搜索,每个替换都用确认替换。但是,我也喜欢以交互方式验证旧文本是否正确匹配。我首先使用正则表达式进行搜索,然后重用该模式:
/old.pattern.to.match
%s//replacement/gc
s// 将使用最后一个搜索模式。
【讨论】:
我认为你正在寻找c,例如s/abc/123/gc,这将导致VIM 确认替换。请参阅 :help :substitute 了解更多信息。
【讨论】:
我通常使用 find/substitute/next/repeat 命令:-)
/old<CR>3snew<ESC>n.n.n.n.n.n.n.
那是find "old"、substitute 3 characters for "new"、find next、repeat substitute,等等。
大量替换很痛苦,但它可以让您有选择地忽略一些旧的出现(只需再次按n 来查找下一个而不是. 来重复替换)。
【讨论】:
<CR> 是什么?