【发布时间】:2014-11-07 21:55:23
【问题描述】:
我正在寻找一种简单的方法来搜索和替换 vim 中的内容,作为重构的“解决方法”。
在其他一些 stackoverflow-question 中,我发现了这个 sn-p 代码:
nnoremap gR gD:%s/<C-R>///gc<left><left><left>
我认为 gD 会在整个文档中选择光标下的当前单词,然后 %s 在我输入替换模式后搜索并替换匹配项。 gc 代表全局确认?!
但是:这并没有按预期工作。例如,在我的一些 python 类中,我可以轻松地重命名整个文件中 self 的出现,但它不适用于长度为 1 的方法标识符或字段标识符。
def __init__(self):
self.test = []
self.A = []
...
所以 self 可以使用这个 sn-p 进行更改,但是在字段 A 上执行 gR 根本不起作用。
我怎样才能让这项工作在一个文件上进行简单的搜索和替换?
任何有关智能重构的技巧也将不胜感激。经过数小时的搜索,我刚刚找到了主要适用于 C 文件的插件和解决方法,但我至少还需要 Java、Python 和 PHP 兼容性。
感谢您的每一个回答:)
更新:我最近发现如果初始选择的模式位于行首,它就可以工作。如果该模式位于该行的中间某处,则它不起作用...有什么想法吗?
【问题讨论】:
标签: search vim replace refactoring