重构在Vim

当然,你可以在IDE上重构的事实对于许多人是无价的,我在编码时几乎没有这样做,但是我可以在编辑一些其他的源时尝试这样做。你如何在Vim中的多个文件中完成这样一个简单的任务?

我发现this plugin重构Ruby,但如何“任何”语言?

我同意’Vim不是一个IDE’范例。但有时候没有一个IDE。这里是我在这些情况下使用:

:grep,:vimgrep,:Ag,:Ggrep

重构,更多地与常规替换我通常使用:grep在我的项目树,然后record a macro做重构 – :g和:s是没有脑力。通常它会让我很快地修改大量的文件。老实说,我使用这种方法比任何其他。

根据您的工作流程,内置命令可能会很慢/不方便。如果你使用git,那么你会想使用优秀的Fugitive插件及其:Ggrep命令只搜索检入git的文件。我也喜欢Silver Searcher的速度。

:argdo或:bufdo

虽然我个人不觉得这是有用的,:argdo也是一个方便的方式来执行vim命令一组文件。 Cdoqargs插件可以是有帮助的,如果你做这种事情。

命令行

当它更难以确定需要更改通过以下文件的列表: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也是一个伟大的实践方式。

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...