我在VIM上使用minibufexplorer
插件,在我的窗口顶部显示缓冲区。默认 Ctrl + O (使用跳转列表跳回)在单独的缓冲区中打开文件,因此在显示多次跳转后缓冲区计数会变得非常大。是否可以修改 Ctrl + O 行为,以便打开新缓冲区并关闭前一个缓冲区?我试图用vimscript编程,但没有找到任何与跳转列表交互的API。如果我用我自己的函数替换 Ctrl + O 我不知道如何调用原始实现来做实际的跳转:(。有什么帮助?
答案 0 :(得分:3)
您可以使用:normal!
来调用原始实现,如下所示:
function s:CtrlO(count1)
let buf=bufnr('%')
execute 'normal!' a:count1 "\<C-o>"
if bufnr('%')!=buf
execute 'bwipeout' buf
endif
endfunction
nnoremap <silent> <C-o> :<C-u>call <SID>CtrlO(v:count1)<CR>