vimでタブを閉じた後、左側のタブが自動的に表示されるようにするにはどうすればよいですか?
タブを閉じるときのデフォルトでは、右側のタブが表示されているようです。これは、現在のタブの右側で新しいタブが開くため、煩わしいものです。したがって、新しいタブを開いて閉じると、別のタブが表示されます。
vimでタブを閉じた後、左側のタブが自動的に表示されるようにするにはどうすればよいですか?
タブを閉じるときのデフォルトでは、右側のタブが表示されているようです。これは、現在のタブの右側で新しいタブが開くため、煩わしいものです。したがって、新しいタブを開いて閉じると、別のタブが表示されます。
「tabcloseleft」オプションを追加するパッチが提案されています。これは、Vim に統合される予定の todo リストにあります (将来、Bram が作業する時間ができたら)。
1つのアイデアがあります:TabClose
イベントはありませんTabEnter
が、あなたが望むものを達成するために使用できるイベントがあります:イベントの1つでタブの数が以前に記録された数よりも少ない場合、明らかにタブが閉じられたためにトリガーされました:
let s:prevtabnum=tabpagenr('$')
augroup TabClosed
autocmd! TabEnter * :if tabpagenr('$')<s:prevtabnum && tabpagenr()>1
\ | tabprevious
\ |endif
\ |let s:prevtabnum=tabpagenr('$')
augroup END
疑わしい; 私が見ることができる方法はありません。ラッチできる自動コマンドイベントさえありません (たとえばTabClose
、必要なものですが、存在しません)。
最も近いのは、おそらくタブを閉じるだけでなく、通常モードを実行する独自のコマンドまたはマッピングを持つことですgT
。(関数に凝って、ウィンドウの状態を検出し、それを望んでいるかどうかを検出できるかもしれませgT
ん。それには、もう少し考えて調査する必要があります。)
もちろん、タブに対する別のソリューションを使用して調査することもできます。ここにいくつかあります:
CTRL-6
)CTRL-]
移動する、CTRL-T
戻る)これは便利に見えます:
http://vim.wikia.com/wiki/Have_focus_on_left_tab_after_tab閉じる
これを行うために少し変更するつもりだと思います:
function! CloseSomething()
if winnr("$") == 1 && tabpagenr("$") > 1 && tabpagenr() > 1 && tabpagenr() < tabpagenr("$")
q | tabprev
else
q
endif
endfunction
cnoremap q<CR> :call CloseSomething()<CR>
だから今:q
、私がやりたいことをします...