ProgramingTip

Vim에서 탭 닫기 실행 취소

bestdevel 2020. 10. 23. 08:10
반응형

Vim에서 탭 닫기 실행 취소


vim에서 탭을 닫고 즉시 다시 열어야한다는 것을 깨달았습니다. Vim 7.2에서 취소하는 방법이 있습니까?


나는 최근 사용하고 MRU (가장 최근에 사용 된 파일) 플러그인을 . 그래서 방금 편집 한 마지막 30 개 파일을 편집 할 수 있습니다.

MRU 메타 데이터는 다음과 가변적입니다.

File: mru.vim
Author: Yegappan Lakshmanan (yegappan AT yahoo DOT com)
Version: 3.2   Last Modified:
September 22, 2008

용법

MRU 목록에서 파일을 사용하고 편집하기 위해 ": MRU"명령을 사용할 수 있습니다. ": MRU"명령은 임시 Vim 창에 MRU 파일 목록을 표시합니다. MRU 창이 이미 열려있는 경우 창에 MRU 목록이 새로 고쳐집니다.


파일이 여전히 버퍼에 열려있을 수 있습니다.

:ls " get the buffer number
:tabnew +Nbuf " where N is the buffer number

예를 들어, 버퍼 18을 다시 여는 방법 :

:tabnew +18buf

:tabnew#

최근 에은 파일을 새 탭에서 다시 닫습니다.


편집 : greyfade의 답변을 사용하십시오. 내 대답이 마음에 들지 않지만 참조 및 유용한 댓글 정보를 위해 여기에 보관하고 있습니다.


간단한 대답은‘아니오’입니다. 기본 제공되는 것은 아닙니다.

그러나 실행 가능한 솔루션은 우수한 BufExplorer

와 같은 플러그인을 사용하는 것 입니다. 기본적으로 가장 최근에 출시 된 버퍼를 먼저 사용하기 때문에 닫힌 탭을 다시 여는 것입니다.\bet


Ben 권장 사용 사용 : BufExplorer Github Mirror

그의 대답에서 언급 야 할 것 <Leader>be<Down>t입니다. 약간의 단축키 추가 :

map <silent><leader>t <leader>be<Down>t

그래서 그것은 <leader>t일을 할 것입니다.


BufferClose쉬운 사건이 쉬운 것입니다 ... 하지만 생성 윈도우가 가능하지 않기 때문에 할 수없는 것 같다 .

탭은 탭 수를 유지 사이의 차이를 계산에 의해 폐쇄 된 경우 그러나 탭의 경우 우리가 감지 할 수 TabLeaveTabEnter.

사용법 : <leader>tr새 탭에서 마지막으로 닫은 탭을 다시 만나 다 (탭에 버퍼가 하나 뿐이라고 가정).

let g:reopenbuf = expand('%:p')
function! ReopenLastTabLeave()
  let g:lastbuf = expand('%:p')
  let g:lasttabcount = tabpagenr('$')
endfunction
function! ReopenLastTabEnter()
  if tabpagenr('$') < g:lasttabcount
    let g:reopenbuf = g:lastbuf
  endif
endfunction
function! ReopenLastTab()
  tabnew
  execute 'buffer' . g:reopenbuf
endfunction
augroup ReopenLastTab
  autocmd!
  autocmd TabLeave * call ReopenLastTabLeave()
  autocmd TabEnter * call ReopenLastTabEnter()
augroup END
" Tab Restore
nnoremap <leader>tr :call ReopenLastTab()<CR>

참고 URL : https://stackoverflow.com/questions/571955/undo-close-tab-in-vim

반응형