3

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

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

(我认为是“设置显示模式”实现了这一点。)但是“(1)”总是字面上的“(1)”——它不会随着我改变缓冲区而改变。(“1”周围的括号也很奇怪。)

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

补充:这可能与我的 .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、多个缓冲区、在缓冲区之间切换、奇怪的状态行。[如果您正在寻找此问题的答案并且在第一次尝试时没有找到此问题,请在此处添加其他人!]

4

3 回答 3

3

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

于 2009-03-27T15:25:21.727 回答
1

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

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

第一次编辑:

尝试在帮助中查找

:help arglist-position
:help shortmess

我从来没有使用过这些选项,所以我不能给你一个详细的解释,但是通过一些阅读你应该能明白这一点。

于 2009-03-20T14:21:10.330 回答
1

在我的情况下,状态行是好的,但 gvim 的标题看起来像你说的。

您可以考虑将statuslinetitlestring更改为相同的值,因为它们使用相同的模式选项。

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


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

于 2009-03-20T14:47:00.220 回答