2013-07-13 8 views
1

내 창 상단에 버퍼를 표시하는 VIM과 함께 minibufexplorer 플러그인을 사용하고 있습니다. 기본값 Ctrl + (점프리스트를 사용하여 점프 백)은 별도의 버퍼에 파일을 엽니 다. 따라서 점프 수가 많아지면 표시된 버퍼 수가 매우 커집니다. Ctrl + O 동작을 수정하여 새 버퍼를 열고 이전 버퍼를 닫을 수 있습니까? vimscript로 프로그램을 작성하려고했지만 jumplist와 상호 작용할 API를 찾지 못했습니다. 그리고 난 내가 실제 점프 :(. 어떤 도움을 원래 구현을 호출하는 방법을 모르는 내 자신의 기능을 Ctrl 키 + O를 교체하면?VIM에서 ctrl-o 동작을 수정할 수 있습니까?

답변

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> 
+0

감사합니다. – grigoryvp