C'è un modo per spostare una pagina divisa in una nuova scheda in Vim?


43

Ho aperto un file in una divisione orizzontale o verticale e quale invece inserirlo in una nuova scheda. Questo può essere fatto facilmente?

Risposte:


73

Molto facilmente, usa CTRL+ W, SHIFT+ T.

Vedi la pagina di aiuto :

:help CTRL-W_T

Nota che questo è case sensitive: <C-W>Tè diverso da <C-W>t.


2
È possibile fare il contrario (spostare una scheda in una divisione)?
Aruuu,

4

Il modo più lungo e diretto sarebbe quello di aprire una nuova scheda e aprire lì il buffer del file.

:tabnew
:b FILE_NAME

:bpuò essere TABcompleto da parti arbitrarie del nome del file, quindi questo non dovrebbe richiedere troppo tempo.


1

Soluzione canonica

Supponiamo che ci siano due buffer:

:ls
  1 #h   "match_this_partially.md"  line 1
  2 %a   "food/tacos.txt"           line 1

Al momento hai food/tacos.txtaperto. Vuoi aprire match_this_partially.mdin una nuova scheda.

Usa semplicemente quanto segue:

:tab sb partial

-- o --

:tab sb 1

È inoltre possibile utilizzare il completamento della scheda Wildmenu al posto di partial.


forma lunga:

  • :tab sbuffer {buffer}

Aiuto:

  • :help :tag
  • :help :sbuffer

Tastiera alternativa

Apri il file in una nuova divisione aprilo in una nuova scheda con il seguente:

<c-w>T

Caso d'uso

Nota: per me ]bè semplicemente mappato connnoremap <silent> ]b :silent execute v:count.'bnext'<cr>

Se ho pochi buffer, potrei fare qualcosa del genere:

  1. <c-w>v - crea una nuova divisione verticale
  2. ]b- passa al buffer successivo (essenzialmente con :bnext)
  3. <c-w>T - apri la divisione nella nuova scheda (ciò distrugge la divisione nella prima scheda)
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.