55 votes

Passer à un onglet particulier dans le VIM

J'essayais de passer d'un onglet à un autre (qui peut ne pas être adjacent à l'onglet précédent) dans VIM. Existe-t-il un raccourci pour cela, comme nous l'avons fait avec la fonction Ctrl - p / Ctrl - n pour passer aux onglets adjacents ?

En outre, j'ai essayé d'écrire un mappage de clé qui donnera une variable comme entrée à une fonction et fera l'opération. Par exemple, disons que j'appuie sur Ctrl - 5 et une fonction (écrite par l'utilisateur) sera appelée et donnée comme entrée 5, et le curseur ira à l'onglet 5 (s'il y a un 5e onglet ouvert).

Pouvez-vous, s'il vous plaît, suggérer comment cela peut être fait ?

80voto

Antony Hatchkins Points 5831

Utiliser 5gt pour passer à l'onglet 5

:tabn[ext] {count}

{count}gt

Aller à l'onglet {count}. Le premier onglet porte le numéro 1.

vous pouvez également le lier à une clé :

:map <C-5> 5gt
:imap <C-5> <C-O>5gt

(Cartographie Ctrl-<number> pourrait être différent/impossible pour certains terminaux. Pensez à Alt-<number> alors)

19voto

James Polley Points 4258

Pour ne répondre qu'à votre première question, et en citant les propos de help tabs dans vim :

{count}gt       Go to tab page {count}.  The first tab page has number one.
{count}gT       Go {count} tab pages back.  Wraps around from the first one
                to the last one.

c'est-à-dire, taper 3gt passe au troisième onglet, 3gT remonte de 3 onglets à partir de l'onglet actuel.

2voto

Alfred Chan Points 11

Juste pour partager la cartographie des clés pour accéder directement à un onglet particulier. Veuillez les mettre dans _vimrc pour que cela fonctionne.

" Jump to particular tab directly
"NORMAL mode bindings for gvim
noremap <unique> <M-1> 1gt
noremap <unique> <M-2> 2gt
noremap <unique> <M-3> 3gt
noremap <unique> <M-4> 4gt
noremap <unique> <M-5> 5gt
noremap <unique> <M-6> 6gt
noremap <unique> <M-7> 7gt
noremap <unique> <M-8> 8gt
noremap <unique> <M-9> 9gt
noremap <unique> <M-0> 10gt

"INSERT mode bindings for gvim
inoremap <unique> <M-1> <C-O>1gt
inoremap <unique> <M-2> <C-O>2gt
inoremap <unique> <M-3> <C-O>3gt
inoremap <unique> <M-4> <C-O>4gt
inoremap <unique> <M-5> <C-O>5gt
inoremap <unique> <M-6> <C-O>6gt
inoremap <unique> <M-7> <C-O>7gt
inoremap <unique> <M-8> <C-O>8gt
inoremap <unique> <M-9> <C-O>9gt
inoremap <unique> <M-0> <C-O>10gt

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X