1

minibufexplorerウィンドウの上にバッファを表示するプラグインを VIM で使用しています。デフォルトCtrl+ O(jumplist を使用して戻るジャンプ) は、ファイルを別々のバッファーで開くため、多数のジャンプの後、表示されるバッファー数が非常に大きくなります。Ctrl+動作を変更して、O新しいバッファを開いて前のバッファを閉じることは可能ですか? vimscript でプログラムしようとしましたが、ジャンプリストと対話する API が見つかりませんでした。Ctrlそして、 +Oを自分の関数に置き換えた場合、元の実装を呼び出して実際のジャンプを行う方法がわかりません:(。何か助けはありますか?

4

1 に答える 1

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>
于 2013-07-13T10:50:31.750 に答える