題 在vim中,如何在標籤之間快速切換?


在gnome-terminal,我可以按 Alt鍵 +(123等)切換到特定標籤。我也可以用 按Ctrl +(PgUp鍵 / PgDn鍵)循環選項卡(不可否認,不太方便,但可以重新映射)。

如果我想使用vim選項卡而不是gnome-terminal選項卡,請鍵入 :tabn 和 :tabp 非常麻煩。我可以將它們映射到鍵盤快捷鍵,但這仍然比直接跳到選項卡4更方便 Alt鍵 + 4

是否有更快的方式在vim中切換選項卡?


94
2018-04-11 01:06


起源




答案:


下一個標籤: GŤ

之前的標籤: GŤ

編號標籤: NNNGŤ


161
2018-04-11 02:19



我知道我可以打字 nnn  g  t,但我想這樣做 很快,即 Alt + nnn 要么 Ctrl + nnn。但 Alt + n 已經被gnome-terminal佔用,並綁定到 Ctrl + n 似乎沒有任何影響。 - Matthew
如何將功能鍵映射到 nnn  g  t?例如。, :map <F2> 2gt。有問題 <F1> 通常由GNOME映射到其幫助工具。或者你可以選擇一些在正常模式下不經常使用的鍵,比如逗號,並將其映射為: :map , gt。然後 1, 會帶你到標籤1, 2, 到標籤2,依此類推。 - garyjohn
我發現使用'<'和'>'非常方便 - Igor Stoppa
向下滾動以獲得更好的答案.. - The Vivandiere


為什麼不利用你的領導者(我的領導者被映射到 空間):

" 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+大號,即 <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>

33
2017-11-12 20:59



你需要 au TabLeave * let g:lasttab = tabpagenr() 對於 c-l 上班: stackoverflow.com/questions/2119754/... - Ciro Santilli 新疆改造中心 六四事件 法轮功
我補充一下 <leader>h/l 對於 gT 和 gt - Brenden


這是我發現的最簡單的方法,可以更快速,更簡單地在標籤之間切換。
將下一行添加到.vimrc並享受它,更多關於vim選項卡的技巧 這裡

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

現在你可以使用了 按Ctrl   向左走 按Ctrl   走對了

或者只是使用:
1GT 去第一個標籤,
2GT 轉到標籤二,
3GT 去標籤三等...現在你有了主意。


13
2018-03-03 14:21



我認為這是最好的答案。很方便。我剛剛在OS X中禁用了那些系統鍵綁定,使它們與系統無關。 - Léo Léopold Hertz 준영
使用箭頭鍵會減慢你的速度。我讓他們殘疾 - Ask and Learn
是的...最佳答案! - The Vivandiere
可悲的是,“Ctrl”在vmplayer中給了我一些問題,所以我改為鍵“Backspace”和“Enter”。 - Boris Däppen
Mac用戶:您可能需要禁用默認的任務控制空間鍵盤快捷鍵: stackoverflow.com/questions/15719135/... - toszter


因為我在Mac上並且沒有使用MacVim(但是在終端內使用普通的vim),我在使用未發送到終端的組合鍵時遇到了一些困難。

最兼容(也是我最舒服)快速切換標籤的方法來自於 Vim Wikia網站

放在你的 .vimrc 文件:

nnoremap H gT
nnoremap L gt

現在 Shift-h (資本H)和 Shift-l (大寫L)將在標籤之間快速切換,並遵循慣例 h 和 l 對應於常規qwerty鍵盤上的vim中的左右。


10
2017-07-03 10:59





(不幸的是)vim也使用 按CtrlPgDn鍵/PgUp鍵 循環選項卡。你需要使用 map 來圖 tabn/tabp 可用的東西。


1
2018-04-11 01:25





如果你正在使用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
2017-10-02 15:32





以下是.vimrc的幾個簡單映射:

nnoremap <C-h> :tabprev
nnoremap <C-l> :tabnext

優點:

  • 沒有從主行移動(我交換ctrl和大寫鎖定)
  • 重複使用“左”和“右”鍵
  • 感覺類似於切換瀏覽器標籤

0
2018-01-12 23:17