当然,你可以在IDE上重构的事实对于许多人是无价的,我在编码时几乎没有这样做,但是我可以在编辑一些其他的源时尝试这样做。你如何在Vim中的多个文件中完成这样一个简单的任务?
我发现this plugin重构Ruby,但如何“任何”语言?
我同意’Vim不是一个IDE’范例。但有时候没有一个IDE。这里是我在这些情况下使用:
:grep,:vimgrep,:Ag,:Ggrep
重构,更多地与常规替换我通常使用@L_403_1@在我的项目树,然后record a macro做重构 – :g和:s是没有脑力。通常它会让我很快地修改大量的文件。老实说,我使用这种方法比任何其他。
根据您的工作流程,内置命令可能会很慢/不方便。如果你使用git,那么你会想使用优秀的Fugitive插件及其:Ggrep命令只搜索检入git的文件。我也喜欢Silver Searcher的速度。
:argdo或:bufdo
虽然我个人不觉得这是有用的,:argdo也是一个方便的方式来执行vim命令一组文件。 Cdo或qargs插件可以是有帮助的,如果你做这种事情。
命令行
当它更难以确定需要更改通过以下文件的列表:vimgrep我诉诸命令行grep / find命令,以更密切地策划我需要重构的文件列表。将列表保存到文本文件,并使用:e和宏记录的混搭,以进行我需要进行的更改。
我发现较少生锈我保持我的宏录制技能更有用我找到Vim重构:感觉舒适的保存/从寄存器恢复,增加/减少寄存器计数器变量,清除/保存宏录制文件以备将来使用等。
更新
因为写这个更多的视频为我描述的方法发表在vimcasts.org(我鼓励你看ALL the Vimcasts!)。重构看这些:
> Substitution with :Subvert
> Project wide search/replace
> Search multiple files with :vimgrep
> Use :argdo to change multiple files
Vimgolf也是一个伟大的实践方式。