Отображать номер текущего буфера

У меня есть простое требование: я хочу отобразить номер буфера, который я сейчас редактирую. Я не хочу набирать :buffers (или эквивалент), но этот номер отображается в моей строке состояния вместе с именем файла, текущей информацией о столбцах и т.д.

Есть ли способ сделать это? Встроенная помощь не очень поучительна в этом вопросе.

Ответ 1

: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  
"}  

Ответ 2

Чтобы получить ответ, не настроив ничего:

:echo bufnr('%')

Ответ 3

Вам нужно %n, указанное в настройке statusline. Попробуйте :help statusline в vim.

Ответ 4

set statusline=%!bufnr('%')

Также см. :help status-line