linux – vimでは、タブを素早く切り替えるにはどうすればいいですか?

gnome-terminal linux tabs terminal vim

gnome-terminal では、Alt + (1, 2, 3, etc.) を押すだけで特定のタブに切り替えることができます。また、Ctrl + (PgUp / PgDn) を使ってタブを循環させることもできます (確かに便利ではありませんが、リマップすることはできます)

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

vimでタブを素早く切り替える方法はありますか?

  177  None  2012-04-11


ベストアンサー

次のタブです。gt

前のタブです。gT

番号付きタブです。nnngt

280  ephemient  2012-04-11


自分のリーダー(私のリーダーは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>

55  unblevable  2013-11-12


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

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

これでCtrl で左に、Ctrl で右に行けるようになりました

あるいは 1gtでタブ1へ、2gtでタブ2へ、3gtでタブ3へ、などなど

35  Arnold Gandarillas  2015-03-03


私はMacを使用しており、MacVimを使用していないため(ただし、ターミナル内ではプレーンなvim)、キーの組み合わせがターミナルに送信されないことにいくつかの困難を抱えていました

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

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

nnoremap H gT
nnoremap L gt

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

22  Stefan Magnuson  2016-07-03


これらを .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>

4  Mengqi Ji  2018-11-05


(残念ながら) vim はタブを循環させるのにも CtrlPgDn/PgUp を使っています。map を使って tabn/tabp を使えるものにマップする必要があります

3  Ignacio Vazquez-Abrams  2012-04-11


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で括った方がいいかもしれません

2  Joe Freeman  2017-10-02


タイトルとURLをコピーしました