Vim搜索所有现有的缓冲区

处理单个文件时,我习惯于:
/blah
do some work
n
do some work
n
do some work

假设现在我想在Vim中加载的所有缓冲区上搜索一些模式,然后对它们进行一些工作,然后继续。我为这个工作流程使用了哪些命令?

我有以下映射(灵感来自Vimperator),使切换上一个/下一个缓冲区更容易。
nmap <C-P> :bp<CR>
nmap <C-N> :bn<CR>

这对’n’非常好。完成文件处理后,只需点击CTRL-n,再次点击n,然后在下一个缓冲区中进行搜索。重做,直到你通过所有的缓冲区。

使用许多文件的另一种方式是参数列表。

当您启动vim时,它包含作为参数传递的任何文件(例如:vim someFile.txt someOtherFile.py)。 [括号]中的文件是当前文件

:args
[someFile.txt] someOtherFile.py

:n将带你到列表中的下一个文件,N将带你回来。您也可以使用:argadd添加到argslist,或者创建一个新的args列表

:n some.py files.py you.py want.py to.py work.py with.py
or to open all *.py files recursively from some project.
:n ~/MyProjects/TimeMachine/**/*.py

如果您的文件具有类似的更改,则参数列表也可以与宏一起工作(请参阅:help q)。只需在第一个文件中记录你的宏,完成:n移动到下一个文件,并停止录制。

qq/searchForSomethingAndDoStuffOrWhatever:nq

然后通过所有文件(6 @ q)运行你的宏,看看确保一切顺利,并且完成一个:墙。

这有点取决于你想做什么。如果你只是有一个与许多文件完全相同的更改(而且那些只是你加载的),我也喜欢:ba(:tabdo sp)命令。这很快,你可以看到发生了什么。

如果您打开了一堆缓冲区,您可以加载要在其中工作的文件,每个文件在窗口中,并对其进行正则表达式。

CTRL-w v :b someFile
:sp anotherFile
...
:windo :%s/foo/bar/g

我真的推荐FuzzyFinder,它使您的生活更容易打开文件时。

http://www.vim.org/scripts/script.php?script_id=1984

MMmMmmmm VIM很好!好极了! :)

相关文章

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