使用 VIM 管理 #TODO(大量文件)

Posted

技术标签:

【中文标题】使用 VIM 管理 #TODO(大量文件)【英文标题】:Manage #TODO (lots of files) with VIM 【发布时间】:2011-05-05 14:28:27 【问题描述】:

我使用 VIM/GVIM 开发我的 python 项目,我随机将#TODO cmets 留在我的代码中。

有什么方法可以管理(搜索、列出和链接)VIM 中出现的所有#TODO?我尝试了tasklist plugin,这几乎是我所需要的,但它只列出了当前文件#TODO 的出现。通常我的项目有一些子文件夹和许多 .py 文件,所以我想找到一种方法来搜索当前工作目录中的所有文件夹和文件并列出它们。

【问题讨论】:

感谢您的建议,但我认为编辑器切换是不可能的立即(我爱上了 VIM)。抱歉,但我强烈认为切换到问题跟踪器只是为了记下“稍后为此写一个例外”或“在单元测试中添加这个”之类的注释是浪费时间。我会看看emacs,我发誓:)。 @aaronasterling vimcasts.org/episodes/cleaning-up-with-vim :) @Arnis L.,Vimcasts 很棒,感谢 Drew Neil,我回到了 VIM! @aaronasterling:如果你如此渴望为 emacs 传教,你为什么要阅读和评论 vim 问题? (我认为这种评论根本不是强制性的。) @jefromi,我通常使用 python 标签阅读所有内容。我没有注意到标题中的 vim 。传教主要是个玩笑:我主要想说“使用问题跟踪器”,这也是唯一回答的人最后说的。 【参考方案1】:

如果您只想要工作目录中 .py 文件中“TODO”出现的列表,您可以像这样使用:vimgrep

:vimgrep TODO **/*.py

然后使用以下命令打开快速修复窗口:

:cw

(它可能会自动打开它,不确定)然后滚动浏览结果,按 Enter 转到每个匹配项。

对于更复杂的管理,我可能建议设置问题跟踪器。

【讨论】:

更快的是:noautocmd vimgrep /TODO/ **/*.py,它在加载文件以查看它们时不会触发任何自动命令。 太棒了,几乎完美!我的光标跳到第一次出现的唯一不便之处。但我可以忍受它! @Benoit,这是一个很棒的提示!我将在我的键盘映射中使用它。 noremap <Leader>t :noautocmd vimgrep /TODO/ **/*.py<CR> @Magnun Leno 查看文档,我看到您可以使用 j 标志使其不跳转到第一次出现::vimgrep /TODO/j **/*.py @Luquid_Fire,这简直太棒了!非常感谢,现在完美了! noremap <Leader>t :noautocmd vimgrep /TODO/j **/*.py<CR>:cw<CR>。 VIM 摇滚!

以上是关于使用 VIM 管理 #TODO(大量文件)的主要内容,如果未能解决你的问题,请参考以下文章

使用文件管理器迭代目录占用大量内存

管理大量文件的技巧?

在 iOS 中管理大量文件的最佳方式

用于传输大量文件的 IBM MQ 调优

如何在源代码管理资源管理器中可靠地获取最新的大量文件

一个很好用的软件,可预览大量文件格式