C'è un modo per prendere una finestra esistente (divisa) e inserirla in una nuova scheda?
C'è un modo per prendere una finestra esistente (divisa) e inserirla in una nuova scheda?
Risposte:
Oltre :tabeditall'approccio precedentemente suggerito , un modo più rapido di farlo è (in modalità normale) premere Ctrl- W Shift- T. Ctrl-W è il prefisso generale per un'ampia varietà di comandi di manipolazione delle finestre.
Vedere:
:help Ctrl-W_T
:help Ctrl-W
help Ctrl-W_Tti porta alla voce di aiuto di Ctrl-W_t(lettere minuscole), tuttavia, più in basso nella pagina c'è la Ctrl-W_Tvoce (con la T maiuscola), che dice "Sposta la finestra corrente in una nuova scheda ..."
:echo bufnr("")e utilizzando questo numero è possibile dividere una finestra con :sp #3o :sb 3(supponendo che il numero fosse 3). Potresti essere in grado di trovare alcune mappature o funzioni per semplificare questo.
:sbfunzionerebbe, ma con le versioni recenti di Vim (> = 7.3) puoi anche usare l'annullamento persistente impostando set undodir=/path/to/dirdove / path / to / dir è una directory che hai creato per lo scopo e poi set undofile. Ciò ti consentirà di uscire da vim, quindi riavviare e mantenere comunque lo stato di annullamento / ripetizione.
Provare
:tabedit %<CR>
C-w Tè il modo più veloce di fare la stessa cosa
Questo sposta il buffer più recente in una nuova scheda e ripristina il buffer precedente nella scheda corrente. Lo uso dopo aver trascinato un nuovo file nel mio Gvim
:sbp |wincmd p| wincmd T
Puoi mapparlo in questo modo su Ctrl-Backspace
:nnoremap <C-BS> :sbp<bar>wincmd p<bar>wincmd T<CR>
funziona particolarmente bene con
:set switchbuf=usetab
Ho usato questo che ti dà due funzioni che possono essere associate a una coppia di tasti di scelta rapida o comandi e che funziona in modo abbastanza intuitivo. Sono abbastanza sicuro che offra comportamenti ancora più amichevoli rispetto ad es Ctrl-W_T.
Ad esempio, quando più finestre sono aperte in più schede, l'utilizzo di questa funzione consente di spostare in modo specifico la finestra corrente alla scheda successiva o precedente e se si sposta qualcosa prima o prima dell'ultima scheda, quindi si gira in una scheda completamente nuova.
Ciò significa che se hai 2 schede, ognuna con una singola finestra, quindi spostando la finestra della prima scheda verso destra, la combinerai con la seconda scheda per ottenere una singola scheda con due finestre. Non so quanto sia complicata questa operazione per ottenere usando i comandi tradizionali.
Ciò significa che una singola coppia di comandi di spostamento consente sia di spostare le finestre attorno alle schede, suddividere le finestre in schede (spingendo una finestra fino alla fine) e unire schede separate in finestre all'interno di una singola scheda, praticamente tutto potresti desiderare, a meno della disposizione posizionale (che è un argomento separato e per cui i comandi integrati Ctrl-W+ Shift-HJKLfunzionano bene).