NERDTree和缓冲区处理

3
我已经基于VIM和NERDTree设置了一个“IDE”来使用FreePascal进行编程。总体而言,它运作得很好,但我找不到如何告诉NERDTree更改其关于VIM缓冲区的默认行为。
目前,每次我在NERDTree中打开一个文件时,它都会创建一个新的缓冲区。如果该文件已经在另一个缓冲区中打开,那么有一个快捷键可以直接跳转到前面的缓冲区,而不是为同一文件创建一个新的缓冲区,这对于需要在文件之间来回切换的程序员来说可能特别有用。
有什么提示吗?

你能否请指定您的设置/安装/版本? 我使用最新的Vim和NERDTree,但无法重现该问题。 例如,从NERDTree中使用“o”打开一个文件,然后再打开另一个文件,再重新打开第一个文件(从NERDTree中),但在检查:buffers之后,只有一个文件。 - Zsolt Botykai
好的,是的,缓冲区编号不受影响。正如您所指出的那样,它不会添加新的缓冲区,但是如果您按“o”键,效果与键入:b<number>时不同。我应该重新表述我的问题,我想要的是当我键入:b<number>时得到相同的结果。一个简单的测试就是打开一个文件,然后将光标定位在某一行,打开另一个文件,然后返回第一个文件。如果您使用NERDTree打开它,则光标位于位置0,而如果您键入:b1,则光标位于正确的位置。我的NERDTree版本是4.1.0。 - Leonardo M. Ramé
1个回答

2

好的,我刚刚阅读了我的 .vimrc 文件(实际上是 _vimrc :-( ),看看为什么它对我有效。

根据精彩但有点过时的 Vim 常见问题解答,一个自动命令可以帮助我:

 au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") |
                     \ exe "normal g'\"" | endif   

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接