是否可以在VIM中修改ctrl-o行为?
我正在使用minibufexplorer插件和VIM,它在我的窗口顶部显示缓冲区。默认情况下,使用jumplist按Ctrl+O键向后跳转会在单独的缓冲区中打开文件,因此在多次跳转后,显示的缓冲区计数会变得非常大。是否可以修改Ctrl+O行为,以便打开新的缓冲区并关闭上一个缓冲区?我试图用vimscript对其进行编程,但没有找到任何与jumplist交互的API。如果我用自己的函数替换Ctrl+O,我不知道如何调用原始实现来执行实际的跳转:。有什么帮助吗?您可以使用:正常!调用原始实现,如下所示:是否可以在VIM中修改ctrl-o行为?,vim,keyboard-shortcuts,Vim,Keyboard Shortcuts,我正在使用minibufexplorer插件和VIM,它在我的窗口顶部显示缓冲区。默认情况下,使用jumplist按Ctrl+O键向后跳转会在单独的缓冲区中打开文件,因此在多次跳转后,显示的缓冲区计数会变得非常大。是否可以修改Ctrl+O行为,以便打开新的缓冲区并关闭上一个缓冲区?我试图用vimscript对其进行编程,但没有找到任何与jumplist交互的API。如果我用自己的函数替换Ctrl+O,我不知道如何调用原始实现来执行实际的跳转:。有什么帮助吗?您可以使用:正常!调用原始实现,如下所
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>