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
を押すのと同じくらい簡単です。
BufferClose
イベントがあった場合、これは簡単です... しかし、ウィンドウの作成ができないため、不可能であるようです 。
ただし、タブの場合、タブ数を保持し、TabLeave
とTabEnter
の差をカウントすることで、タブが閉じられたかどうかを検出できます。
使用法: <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>
プラグインのBenを使用してください: BufExplorer Github Mirror
彼の答えでは、<Leader>be<Down>t
を押す必要があります。ビットショートカットを追加する:
map <silent><leader>t <leader>be<Down>t
したがって、単に<leader>t
が機能します。