【问题标题】:Is it possible to modify ctrl-o behaviour in VIM?是否可以在 VIM 中修改 ctrl-o 行为?
【发布时间】:2013-07-13 10:32:10
【问题描述】:

我正在使用带有 VIM 的 minibufexplorer 插件,它在我的窗口顶部显示缓冲区。默认 Ctrl+O(使用 jumplist 跳转)在单独的缓冲区中打开文件,因此在多次跳转后显示的缓冲区计数会变得非常大。是否可以修改 Ctrl+O 行为,以便打开新缓冲区并关闭前一个缓冲区?我曾尝试使用 vimscript 对其进行编程,但没有找到任何与 jumplist 交互的 API。如果我用自己的函数替换 Ctrl+O 我不知道如何调用原始实现来进行实际跳转:(。有什么帮助吗?

【问题讨论】:

    标签: vim keyboard-shortcuts


    【解决方案1】:

    您可以使用: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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-16
      • 1970-01-01
      • 1970-01-01
      • 2017-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多