265 votes

Dans vim, comment puis-je passer rapidement d'un onglet à l'autre ?

Dans gnome-terminal, je peux juste appuyer sur Alt + ( 1 , 2 , 3 etc.) pour passer à des onglets spécifiques. Je peux également utiliser Ctrl + ( PgUp / PgDn ) pour faire défiler les onglets (c'est certes moins pratique, mais cela peut être remappé).

Si je veux utiliser les onglets de vim au lieu des onglets de gnome-terminal, en tapant :tabn y :tabp est assez encombrant. Je pourrais les associer à des raccourcis clavier, mais c'est toujours beaucoup moins pratique que de passer directement à l'onglet 4 avec la touche Alt + 4 .

Existe-t-il un moyen plus rapide de passer d'un onglet à l'autre dans vim ?

412voto

posipiet Points 371

Onglet suivant : gt

L'onglet précédent : gT

Onglet numéroté : <i>nnn</i>gt

80voto

HyperDraco Points 11

Pourquoi ne pas faire appel à votre leader (mon leader est cartographié pour 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>

Vous pouvez utiliser les paramètres ci-dessous pour basculer entre l'onglet actuel et le dernier onglet actif (ici, il est mappé à Ctrl + L c'est-à-dire, <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>

44voto

C'est le moyen le plus simple que j'ai trouvé, pour passer d'un onglet à l'autre plus rapidement et simplement.
Ajoutez les lignes suivantes à votre .vimrc et profitez-en, plus d'astuces sur les onglets de vim. aquí .

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

Vous pouvez maintenant utiliser Ctrl pour aller à gauche et Ctrl pour aller à droite.

Ou utilisez simplement :
1gt pour aller à l'onglet 1,
2gt pour passer à l'onglet deux,
3gt pour aller à l'onglet trois, etc... maintenant vous avez l'idée.

35voto

Stefan Magnuson Points 391

Comme je suis sur un Mac et que je n'utilise pas MacVim (mais simplement vim dans un terminal), j'ai eu quelques difficultés avec des combinaisons de touches qui n'étaient pas envoyées dans le terminal.

La manière la plus compatible (et pour moi la plus confortable) de changer rapidement d'onglet vient de la fonction Site Wikia de Vim .

Placez dans votre .vimrc fichier :

nnoremap H gT
nnoremap L gt

Maintenant Shift-h (H majuscule) et Shift-l (L majuscule) vous permettra de passer rapidement d'un onglet à l'autre, et suit la convention selon laquelle h y l correspondent à la gauche et à la droite dans vim sur un clavier qwerty ordinaire.

4voto

(Malheureusement) vim utilise également CtrlPgDn / PgUp pour faire défiler les onglets. Vous devrez utiliser map à la carte tabn / tabp en quelque chose d'utilisable.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X