Vim 显示当前缓冲区的编号

Vim 显示当前缓冲区的编号,vim,buffer,statusline,Vim,Buffer,Statusline,我有一个简单的要求:我想显示当前正在编辑的缓冲区的编号。 我不想键入:buffers(或等效项),但要将此数字与文件名、当前列信息等一起显示在我的状态栏中 有没有办法做到这一点?在这一点上,内置帮助不是很有指导意义。:h statusline显示了所需的每一点帮助 我的.vimrc " Status Line { set laststatus=2 " always show statusbar set

我有一个简单的要求:我想显示当前正在编辑的缓冲区的编号。 我不想键入
:buffers
(或等效项),但要将此数字与文件名、当前列信息等一起显示在我的状态栏中


有没有办法做到这一点?在这一点上,内置帮助不是很有指导意义。

:h statusline
显示了所需的每一点帮助

我的
.vimrc

" Status Line {  
        set laststatus=2                             " always show statusbar  
        set statusline=  
        set statusline+=%-10.3n\                     " buffer number  
        set statusline+=%f\                          " filename   
        set statusline+=%h%m%r%w                     " status flags  
        set statusline+=\[%{strlen(&ft)?&ft:'none'}] " file type  
        set statusline+=%=                           " right align remainder  
        set statusline+=0x%-8B                       " character value  
        set statusline+=%-14(%l,%c%V%)               " line, character  
        set statusline+=%<%P                         " file position  
"}  
“状态行{
设置laststatus=2“始终显示状态栏
设置状态行=
设置statusline+=%-10.3n\“缓冲区编号
设置statusline+=%f\“文件名
设置statusline+=%h%m%r%w“状态标志
设置statusline+=\[%{strlen(&ft)?&ft:'none'}]“文件类型
设置statusline+=%=“右对齐余数
设置statusline+=0x%-8B“字符值
设置statusline+=%-14(%l,%c%V%)“行,字符

设置statusline+=%您需要在
statusline
设置中列出
%n
。请在vim中尝试
:help statusline

set statusline=%!bufnr('%')

另请参见
:帮助状态行

以获取答案,无需配置任何内容:


:echo bufnr('%')

我会用一个自定义命令来缩短它``command Bfno:echo bufnr('%')```为了澄清,中带大括号的行实际上不是vim语法,对吧?那只是模仿(例如)C的注释?是的,这些只是注释。