Comment changer l'ordre des onglets dans vim?

Est-il un moyen de changer l'ordre des onglets dans Vim (j'.e changer la position des onglets dans la barre d'onglet)? Par exemple, disons que mes onglets sont dans cet ordre:

A | B | C | D

, Mais je voudrais changer la position des onglets à quelque chose comme:

A | C | B | D

Comment puis-je faire ça?

35
demandé sur Sheharyar 2012-07-02 18:01:10

3 réponses

Vous pouvez utiliser :tabmove suivi du numéro de tabulation pour passer. Par exemple, :tabmove 3 fera passer l'onglet actuel au-delà du 3ème. :tabmove 0 se déplace vers le début et :tabmove (sans nombre) se déplace vers la fin.

Une autre façon - mais pas orthodoxe - est d'activer la souris via :set mouse=a et les onglets glisser-déposer autour. Cela pourrait sembler plus simple pour commencer.

51
répondu Mihai Maruseac 2012-07-04 20:27:47

Déplacer les onglets vers la Gauche / Droite

Pour moi, il est beaucoup plus logique de déplacer les onglets vers la gauche ou la droite de leur position actuelle au lieu de déterminer d'abord la position numérique exacte à laquelle je les veux. Ces keymaps simples font exactement cela:

noremap <A-Left>  :-tabmove<cr>
noremap <A-Right> :+tabmove<cr>

Maintenant, vous serez en mesure de déplacer l'onglet actuel:

  • Vers la gauche en utilisant: Alt + Gauche
  • à droite en utilisant: Alt + Droit

Pour MacVim, essayez d'utiliser M au lieu de A (c - <M-Left>)

5
répondu Sheharyar 2017-05-31 21:17:41

Pour moi-tabmove ne fonctionne pas.

J'utilise la commande ci-dessous: Ctrl+Maj+PageUp|PageDown.

nmap <C-S-PageUp>   :tabmove -1<cr>
nmap <C-S-PageDown> :tabmove +1<cr>
1
répondu Fisher 2017-10-16 14:08:11