Come riordinare le schede aperte?


16

Diciamo che ho quattro file aperti: file0.txt, file1.txt, file2.txt, e file3.txt. Li apro tutti in questo ordine come schede. Quindi il mio ordine di tabulazione è questo:

  • file0.txt
  • file1.txt
  • file2.txt
  • file3.txt

Quindi diciamo che voglio invece riordinare le mie schede in modo che file2.txtvenga prima file1.txt:

  • file0.txt
  • file2.txt
  • file1.txt
  • file3.txt

Come lo faccio? Esiste un comando Vim per spostare la scheda corrente verso sinistra o destra o per riordinare le schede attualmente aperte?

Risposte:


18

Puoi usare il tabmovecomando ( :help tabmoveti dirà tutto ciò che devi sapere)

Il comando accetta due tipi di parametri:

Un segno ( +o -) seguito da un numero:

  • :tabmove +2 sposta la scheda di 2 posizioni verso destra
  • :tabmove -2 farà lo stesso a sinistra.

Puoi anche usare il comando con un numero semplice per impostare la posizione della scheda:

  • :tabmove 0 inserirà la scheda come prima
  • :tabmove 2 metterà la linguetta in terza posizione
  • :tabmove inserirà la scheda come l'ultima

Inoltre ho inserito quelle righe nel mio .vimrc

" move current tab to left/right
noremap <Leader><Left>  :execute 'silent! tabmove ' . (tabpagenr()-2)<CR>
noremap <Leader><Right> :execute 'silent! tabmove ' . tabpagenr()<CR>

Ti consentono di spostare la scheda corrente di un posto con la combinazione Leader+ Right arrowe Leader+ Left arrowforse potrebbero esserti utili.

Modifica: Come sottolineato da @TomMcDo nei commenti, le mappature precedenti potrebbero essere semplificate e funzionare ancora correttamente:

noremap <Leader><Left>  :tabmove -1<CR>
noremap <Leader><Right> :tabmove +1<CR>

3
Nelle tue mappature, perché non usare :tabmove -1e :tabmove +1?
Tommaso,

@tommcdo: Beh ... ho fatto quelle mappature diversi mesi fa e non ho idea di cosa mi venisse in mente in questo momento. E non ho pensato all'evento quando l'ho copiato nella mia risposta. Comunque hai perfettamente ragione, modificherò la mia risposta per rendere più semplice grazie per l'intestazione :-)
statox
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.