我想优化Vim中的“查找和替换”工作流程。这是我经常做的事情,因为我敢肯定你们中大多数人也会这样做。通常- 复制块并在几个地方更改变量的名称。我知道,我知道,这可能会触发您“为什么要复制和粘贴代码”的反射,但我们不要走那条路了……有很多有效的用例:)
我非常了解搜索和替换命令::s
或者,:%s
但我不喜欢它们。它迫使我同时输入要搜索的完整变量名和要更改的变量名。也许有更好的方法来固定输入的数量:%s
?我经常使用描述性长的变量名,因此对我来说确实是一个大问题。我也不喜欢从头开始输入变量名容易产生错字,并且会浪费时间和精力来查找错字。我更喜欢输入一次,然后复制和粘贴,以尽可能完全避免这种情况。
我当前的工作流程使用移动/拖动/选择/搜索/放置的某种组合来移动文件并一一替换。它虽然不是很好,但是具有避免输入完整的变量名的好处。我可能只需要输入前几个字母,/
或者fx
根据周围的情况使用另一个移动命令(例如),然后单击ve
以选择整个单词。我也不介意必须为每个实例重复一次。如果没有确认每个更改,我永远不会做一个完整的替换。但是,如果我可以通过一次击键来重复替换操作(这种方法无法做到),那将是非常可取的。每次更换通常是这样的n
,然后ve
再p
(或更糟"0p
)
有没有更快的方法?
n
ve
"0p
。不幸的是不能只用复制.
n ce ctrl-r 0 <esc> n.n.n.n.n.n.
.
重复最后一个“命令块”(不确定确切的术语。例如:move + action + text。),例如:(cwtoto<Esc>
从光标更改为带有“ toto”的单词的结尾),c/foo<enter>bar<Esc>
(从光标更改为“ foo”,然后替换为“ bar”。然后可以移动(用光标,hjkl或数字+ hjkl(执行n次),G(转到文件末尾),/ something(位于“东西”)等),然后按一下.
以重做相同的“命令块”