在vim中编辑多个缓冲区:状态行中的“((1)of 3)”

时间:2009-03-20 14:11:55

标签: vim buffer

当我在vim中使用“:bn”和“:bp”在缓冲区之间切换时,我的状态行显示以下方便信息:

"foo.txt" 43 lines --88%-- ((1) of 3)                      38,1          All

(我认为这是启用它的“set showmode”。) 但是“(1)”总是字面意思是“(1)” - 它不会随着我改变缓冲区而改变。 (“1”周围的parens也很奇怪。)

有谁知道如何解决这个问题?

ADDED:这可能与我的.vimrc中的一些坚果有关,就在这里:http://yootles.com/outbox/.vimrc


相关地,这是一个方便的技巧,使交换缓冲区真的无痛(.vimrc中的条目):

"left/right arrows to switch buffers in normal mode
map <right> :bn<cr>
map <left> :bp<cr>

提高可搜索性的关键字:vim,多个缓冲区,缓冲区之间的切换,奇怪的状态行。 [如果您正在寻找这个问题的答案,并在第一次尝试时没有找到这个,请在​​此处添加其他人!]

3 个答案:

答案 0 :(得分:3)

vim显示(3的(1))的原因是因为参数列表。当你启动vim时,你可能包含3个文件名作为参数。因为你使用:bn /:bp来切换缓冲区而不是:n /:N来移动参数列表,你仍然在参数1上。阅读:h arglist-position。

答案 1 :(得分:1)

您可以自定义状态行的外观;例如,这是我的:

set laststatus=2    " all windows have statuslines
set statusline=%mb%n:%f%R%Y\ %l/%L,%c:%v

第一次编辑:

尝试查看

的帮助
:help arglist-position
:help shortmess

我从来没有使用过这些选项,所以我不能给你一个详细的解释,但是只要稍微阅读一下你就应该到底了。

答案 2 :(得分:1)

在我的情况下,状态行是可以的,但gvim的标题看起来就像你说的那样。

您可以考虑将状态栏 titlestring 更改为使用相同模式选项时的相同值。

为了方便地选择缓冲区,您可以使用
minibufexpl.vim:优雅的缓冲区浏览器 - 占用很少的屏幕空间
http://www.vim.org/scripts/script.php?script_id=159


0scan:基于标签搜索您可能想要查找的任何内容(ctags,buffers,...) http://www.vim.org/scripts/script.php?script_id=2507