web-dev-qa-db-ja.com

vimでは、どうやってタブを素早く切り替えることができますか?

Gnome-terminalでは、そのまま押すことができます Alt +(1、 2、 3特定のタブに切り替える私も使えます Ctrl +(PgUp / PgDn)タブを切り替えることができます(確かにあまり便利ではありませんが、再マッピングできます)。

Gnome-terminalタブの代わりにvimタブを使いたいのであれば、:tabn:tabpをタイプするのはとても面倒です。キーボードショートカットにマッピングすることもできますが、それでもタブ4に直接ジャンプするよりもはるかに便利ではありません。 Alt + 4

Vimでタブを切り替えるより速い方法はありますか?

119
Matthew

次のタブ: gt

前のタブ: gT

番号付きタブ: nNNgt

196
ephemient

なぜあなたのリーダーを利用しないでください(私のリーダーは Space):

" Go to tab by number
noremap <leader>1 1gt
noremap <leader>2 2gt
noremap <leader>3 3gt
noremap <leader>4 4gt
noremap <leader>5 5gt
noremap <leader>6 6gt
noremap <leader>7 7gt
noremap <leader>8 8gt
noremap <leader>9 9gt
noremap <leader>0 :tablast<cr>

現在のタブと最後にアクティブになっているタブを切り替えるには、以下の設定を使用できます(ここでは、 Ctrl+Lすなわち<c-l>):

" Go to last active tab

au TabLeave * let g:lasttab = tabpagenr()
nnoremap <silent> <c-l> :exe "tabn ".g:lasttab<cr>
vnoremap <silent> <c-l> :exe "tabn ".g:lasttab<cr>
39
unblevable

これは私が見つけた最も簡単な方法で、タブをより速くそして簡単に切り替えるためのものです。
あなたの.vimrcに次の行を追加して楽しんでください、vimタブについてのより多くのトリック ここ

nnoremap <C-Left> :tabprevious<CR>
nnoremap <C-Right> :tabnext<CR>

今すぐ使えます Ctrl 左に行く Ctrl うまくいく.

または単に使用:
1gt タブ1に行く
2gt タブ2に行く
3gt タブ3などに移動するには...これでアイデアがあります。

21

私はMacを使っていてMacVimを使っていない(しかし端末内では普通のvimを使っている)ので、キーの組み合わせが端末に送られてこないという点でいくつかの問題を抱えている。

タブを素早く切り替えるための最も互換性のある(そして私にとっては最も快適な)方法は Vim Wikiaサイト から来ています。

.vimrcファイルに配置します。

nnoremap H gT
nnoremap L gt

これでShift-h(大文字のH)とShift-l(大文字のL)は素早くタブを切り替え、通常のqwertyキーボードのvimではhlが左右に対応するという規約に従います。

11
Stefan Magnuson

(残念)vimも使っています CtrlPgDn/PgUp タブを切り替えることができます。 map/tabnを使用可能なものにマップするには、tabpを使用する必要があります。

タブナビゲーションのホットキーを有効にするには、これらを.vimrcに追加します。

<ctrl-l>は最新の2つのタブを切り替えます。

<ctrl-j/k>最後/次のタブに移動します。

<ctrl-t>は新しいタブを開きます。

" tab navigation: Alt or Ctrl+Shift may not work in terminal: " http://vim.wikia.com/wiki/Alternative_tab_navigation " Tab navigation like Firefox: only 'open new tab' works in terminal nnoremap <C-t> :tabnew<CR> inoremap <C-t> <Esc>:tabnew<CR> " move to the previous/next tabpage. nnoremap <C-j> gT nnoremap <C-k> gt " Go to last active tab au TabLeave * let g:lasttab = tabpagenr() nnoremap <silent> <c-l> :exe "tabn ".g:lasttab<cr> vnoremap <silent> <c-l> :exe "tabn ".g:lasttab<cr>

0
Mengqi Ji

Gvimなどを使用している場合(端末の外にあるものなど)、gnome-terminalの動作を模倣することができます。

" Map alt-x keys to jump to a tab
for i in range(1, 8)
  execute "nmap \<M-" . i . "> " . i . "gt"
endfor
nmap <M-9> :tablast<CR>

そのため、alt-1は最初のタブなどにジャンプします。ただし、alt-9は最後のタブにジャンプします(Chromeと同様)。

これをif has("gui_running")で囲む(これはNeovimでは動作しないようです)、またはこれを.gvimrcに入れることができます。

0
Joe Freeman