開いているタブを並べ替えるにはどうすればよいですか?


16

:のは、私は4つのオープンファイルがあるとしましょうfile0.txtfile1.txtfile2.txt、とfile3.txt。それらのすべてをタブとしてこの順序で開きます。だから私のタブの順序はこれです:

  • file0.txt
  • file1.txt
  • file2.txt
  • file3.txt

次に、代わりにタブを並べ替えて、それfile2.txtが前になるようにしたいとしましょうfile1.txt

  • file0.txt
  • file2.txt
  • file1.txt
  • file3.txt

それ、どうやったら出来るの?現在のタブを左または右に移動したり、現在開いているタブを並べ替えたりするVimコマンドはありますか?

回答:


18

このtabmoveコマンドを使用できます。(:help tabmoveあなたが知る必要があるすべてを教えてくれます)

このコマンドは、2種類のパラメーターを取ります。

記号(+または-)の後に数字が続きます:

  • :tabmove +2 2つの場所のタブを右に移動します
  • :tabmove -2 同じことを左に行います。

コマンドを単純な番号で使用して、タブの位置を設定することもできます。

  • :tabmove 0 タブを最初のタブとして配置します
  • :tabmove 2 タブを3番目の位置に配置します
  • :tabmove タブを最後のタブとして配置します

また、これらの行を .vimrc

" move current tab to left/right
noremap <Leader><Left>  :execute 'silent! tabmove ' . (tabpagenr()-2)<CR>
noremap <Leader><Right> :execute 'silent! tabmove ' . tabpagenr()<CR>

これらを使用すると、Leader+ Right arrowLeader+ の組み合わせを使用して1つの場所の現在のタブを移動Left arrowできます。

編集: @TomMcDoがコメントで指摘したように、以前のマッピングは単純化され、引き続き適切に機能する可能性があります。

noremap <Leader><Left>  :tabmove -1<CR>
noremap <Leader><Right> :tabmove +1<CR>

3
マッピングでは、なぜ:tabmove -1andを使用しないの:tabmove +1ですか?
-tommcdo

@tommcdo:えーと...数ヶ月前にそれらのマッピングを作成しましたが、この時点で何が私の心にあったのか分かりません。そして、回答の中でそれをコピーしたとき、私はそれについて考えを与えませんでした。とにかくあなたは完全に正しいです私は見出しのために私の答えを編集します:
statox
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.