VIM 将TODO项收集至寄存器
1. 将TODO项收集至寄存器
:::alert-warning
通过把 :global
和 :yank
这两条命令结合在一起,可以把所有匹配 {pattern}
的文本行收集到某个寄存器中。
:::
➾ :g/TODO/yank A
➾ :reg a
《"a // TODO: Cache this regexp for certain depths.
// TODO: No matching end code found - warn!
此处有一个窍门,即要用大写字母A引用寄存器。这意味着Vim将把内容附加到指定的寄存器,用小写字母 a的话,则会覆盖原有寄存器的内容。因此,这条global命令可以被解读为“将所有匹配模式 /TODO/ 的文本行依次附加到寄存器 a
:::alert-warning
global命令与 :bufdo或 :argdo一起搭配使用,argdo 使用global 命令时 不能使用normal.
argdo :g/TODO/d
:::
还有一种方法:附加到 文件尾部,但是对于批量不够友善.
:g/TODO/t$