it-swarm.it

Come dividere il terminale in più di una "vista"?

Da vi, se si emette il comando :sp, lo schermo si divide in due "viste", consentendo di modificare più di un file dallo stesso terminale.

Sulla stessa linea, c'è un modo per avere più shell aperte nello stesso terminale?

285
Justin Ethier

Puoi farlo in screen nel multiplexer terminale.

  • Per dividere verticalmente: ctrla poi |.
  • Per dividere in orizzontale: ctrla poi S (maiuscole 's').
  • Per spaccare: ctrla poi Q (maiuscolo 'q').
  • Per passare dall'uno all'altro: ctrla poi tab

Nota: dopo la divisione, è necessario accedere alla nuova area e iniziare una nuova sessione tramite ctrla poi c prima di poter usare quell'area.

EDIT, utilizzo di base dello schermo:

  • Nuovo terminal: ctrla poi c.
  • Terminale successivo: ctrla poi space.
  • Terminale precedente: ctrla poi backspace.
  • N ° terminale ctrla poi [n]. (funziona per n∈ {0,1… 9})
  • Passa da un terminale all'altro usando l'elenco: ctrla poi " (utile quando più di 10 terminali)
  • Spedire ctrla al terminale sottostante ctrla poi a.
376
shellholic

Prova tmux (Terminal MUltipleXer):

tmux screenshot

E capire la differenza tra session, window e pane: tmuxnestings

117
Yonatan Maman

Come menzionato nei commenti, oltre allo schermo, un altro buon multiplexer terminale è tmux . È possibile fare riferimento al manuale per una descrizione completa e un riferimento al comando. Alcune operazioni di base per iniziare sono:

  • Dividi lo schermo in verticale: Ctrlb e Shift5
  • Dividi schermo in orizzontale: Ctrlb e Shift"
  • Passa da un riquadro all'altro: Ctrlb e o
  • Chiudi riquadro corrente: Ctrlb e x

È possibile ottenere layout più complessi suddividendo i riquadri. Puoi anche avere più finestre con riquadri e passare da una all'altra.

  • Crea finestre: Ctrlb e c
  • Passa alla finestra successiva: Ctrlb e n
  • Passa alla finestra precedente: Ctrlb e p
  • Distruggi la finestra corrente: Ctrlb e Shift7
67
dkaragasidis

Se vuoi un programma che divide solo un terminale¹, c'è splitvt . Ci sono programmi che dividono un terminale e fanno anche molte altre cose, come Screen, Tmux, Emacs, ...

¹ È il terminale che stai dividendo, non la Shell.

Oltre agli eccellenti suggerimenti su Screen e Tmux se stai usando una sorta di window manager potresti essere interessato a Terminator puoi dividere le mode orizzontalmente o verticalmente, oltre a schede e altro ... ecco un elenco di caratteristiche tratte dal sito web dell'autore:

  • Disporre i terminali in una griglia
  • Tabs
  • Trascina e rilascia riordino dei terminali
  • Molte scorciatoie da tastiera
  • Salva più layout e profili tramite l'editor delle preferenze della GUI
  • Digitazione simultanea a gruppi arbitrari di terminali

Dai un'occhiata agli screenshot sul sito del progetto.

Più importante è possibile combinare Terminator con Screen/Tmux.

20
alemani

Konsole per KDE ha una funzione integrata :

  • Ctrl+( per dividere la vista sinistra/destra

  • Ctrl+) per dividere Visualizza in alto/in basso

  • Shift+Tab scorrerà le viste divise

  • Shift+Left Arrow/Right Arrow scorrerà la vista corrente attraverso le schede/viste

  • Ctrl+Shift+X per chiudere la vista corrente

9
MrUser

Usa terminatore .

Dovrebbe essere disponibile tramite il tuo gestore pacchetti preferito, se usi una distribuzione mainstream.

È l'unico multiplexer terminale in cui il copia-incolla funziona correttamente all'interno dei riquadri della finestra.

Aggiornamento: tilix è un'alternativa terminator che è quasi completamente alla pari con il terminatore (e dove anche il copypasting funziona correttamente). Dopo averlo valutato rimango comunque con terminator, tuttavia, grazie alla migliore gestione delle schede e alla configurazione più semplice (dal mio POV).

7
sjas

Guake + Byob

Qui Ho scritto una risposta più completa .

Sono un utente felice di Guake con Byob al suo interno, che per impostazione predefinita utilizza tmux ( probabilmente migliore di screen) come backend.

Tre passi

  1. Installali (non sono necessari PPA su Ubuntu/Debian, controlla altre distro )

    Sudo apt install guake byobu
    
  2. Aggiungilo alle shell disponibili (come ho detto in questo numero di Guake Github ):

    which byobu | Sudo tee -a /etc/shells
    
  3. Preferenze di Guake (guake-prefs) scegli Byobu come interprete predefinito:

    screenshot

Opzionali

  1. Guake

    1. Deseleziona "Mostra barra delle schede", poiché utilizzerai Byobu per questo:
      image
    2. Se un collegamento non funziona, prova a disabilitare quelli di Guake che potrebbero interferire (nel mio caso lo era Ctrl+F2 per divisione verticale): screenshot
  2. Byobu

    1. Impara le scorciatoie con Shift+F1 oppure questo eccellente screencast .
    2. Scopri i comandi disponibili byobu terminal con apropos byobu
    3. Per utilizzare i tasti Fn su Midnight Commander, utilizzare Alt+ ,o Shift+F12 per disabilitare i tasti F byobu.

screenshot

  • Per una felicità ancora maggiore usa zsh con oh-my-zsh e
  • Metti alla prova la tua configurazione del terminale con this test drive .
6
Pablo A

Prova Divisione verticale per GNU schermo

Questa patch fornisce una funzione di divisione verticale per le versioni correnti di GNU Screen. La funzione è progettata per funzionare allo stesso modo del comando di divisione esistente dello schermo, ma divide le regioni verticalmente anziché orizzontalmente. Entrambe le forme di divisioni può essere usato insieme in qualsiasi combinazione/quantità/ordine desiderato. Qualcosa di simile è previsto per apparire in GNU Screen 4.1 presto, ed è già disponibile in CVS per questo thread della mailing list (e ha è stato incluso nei pacchetti di schermate Debian e Ubuntu a partire dal 4.0.3-10. Inoltre, un recente progetto chiamato ScreenWM è progettato specificamente per funzionare con uno schermo con patch vsplit (date un'occhiata!).

2
Narga