web-dev-qa-db-fra.com

Comment diviser le terminal en plusieurs "vues"?

Depuis vi, si vous exécutez la commande :sp, l'écran se divise en deux "vues", vous permettant de modifier plus d'un fichier à partir du même terminal.

Dans le même esprit, existe-t-il un moyen d'ouvrir plusieurs obus dans le même terminal?

285
Justin Ethier

Vous pouvez le faire dans screen le multiplexeur de terminaux.

  • Pour diviser verticalement: ctrla puis |.
  • Pour diviser horizontalement: ctrla puis S ('majuscules').
  • Pour séparer: ctrla puis Q ('q' majuscule).
  • Pour passer de l'un à l'autre: ctrla puis tab

Remarque: Après le fractionnement, vous devez vous rendre dans la nouvelle région et démarrer une nouvelle session via ctrla puis c avant de pouvoir utiliser cette zone.

EDIT, utilisation de base de l'écran:

  • Nouveau terminal: ctrla puis c.
  • Terminal suivant: ctrla puis space.
  • Terminal précédent: ctrla puis backspace.
  • N'th terminal ctrla puis [n]. (fonctionne pour n∈ {0,1… 9})
  • Basculez entre les terminaux à l'aide de la liste: ctrla puis " (utile lorsque plus de 10 terminaux)
  • Envoyer ctrla au terminal sous-jacent ctrla puis a.
376
shellholic

Essayez tmux (Terminal MUltipleXer):

tmux screenshot

Et pour comprendre la différence entre session, window et pane: tmuxnestings

117
Yonatan Maman

Comme mentionné dans les commentaires, outre l'écran, un autre bon multiplexeur de terminal est tmux . Vous pouvez vous référer au manuel pour une description complète et une référence de commande. Quelques opérations de base pour commencer sont:

  • Diviser l'écran verticalement: Ctrlb et Shift5
  • Écran divisé horizontalement: Ctrlb et Shift"
  • Basculer entre les volets: Ctrlb et o
  • Fermer le volet actuel: Ctrlb et x

Vous pouvez obtenir des dispositions plus complexes en fractionnant les volets. Vous pouvez également avoir plusieurs fenêtres avec volets et basculer entre eux.

  • Créer des fenêtres: Ctrlb et c
  • Passer à la fenêtre suivante: Ctrlb et n
  • Passer à la fenêtre précédente: Ctrlb et p
  • Détruisez la fenêtre actuelle: Ctrlb et Shift7
67
dkaragasidis

Si vous voulez un programme qui divise simplement un terminal¹, il y a splitvt . Il existe des programmes qui divisent un terminal et font beaucoup d'autres choses en plus, comme Screen, Tmux, Emacs,…

¹ C'est le terminal que vous divisez, pas le Shell.

En plus des excellentes suggestions sur Screen et Tmux si vous utilisez une sorte de gestionnaire de fenêtres, vous pourriez être intéressé par Terminator vous pouvez diviser les modes horizontalement ou verticalement, plus les onglets et plus ... voici une liste de fonctionnalités extraites du site Web de l'auteur:

  • Organiser les terminaux dans une grille
  • Onglets
  • Réorganisation des terminaux par glisser-déposer
  • Beaucoup de raccourcis clavier
  • Enregistrer plusieurs mises en page et profils via l'éditeur de préférences GUI
  • Typage simultané sur des groupes arbitraires de terminaux

Jetez un œil aux captures d'écran sur le site du projet.

Plus important encore, vous pouvez combiner Terminator avec Screen/Tmux.

20
alemani

Konsole pour KDE a une fonction intégrée :

  • Ctrl+( pour diviser la vue gauche/droite

  • Ctrl+) pour diviser la vue haut/bas

  • Shift+Tab fera défiler les vues divisées

  • Shift+Left Arrow/Right Arrow fera défiler la vue actuelle à travers les onglets/vues

  • Ctrl+Shift+X pour fermer la vue actuelle

9
MrUser

Utilisez terminateur .

Devrait être disponible via votre gestionnaire de paquets préféré, si vous utilisez une distribution traditionnelle.

C'est le seul multiplexeur de terminaux où le copier-coller fonctionne correctement à partir des volets de votre fenêtre.

Mise à jour: tilix est une alternative terminator qui est presque complètement à égalité avec terminator (et où le copypasting fonctionne correctement aussi). Après l'avoir évalué, je reste fidèle à terminator mais en raison d'une meilleure gestion des onglets et d'une configuration plus facile (à partir de mon POV).

7
sjas

Guake + Byob

Ici J'ai écrit une réponse plus complète .

Je suis un utilisateur heureux de Guake avec Byob à l'intérieur, qui utilise par défaut tmux ( probablement mieux que screen) comme backend.

Trois étapes

  1. Installez-les (aucun PPA requis sur Ubuntu/Debian, vérifiez les autres distributions )

    Sudo apt install guake byobu
    
  2. Ajoutez-le aux shells disponibles (comme je l'ai dit dans ce numéro de Guake Github ):

    which byobu | Sudo tee -a /etc/shells
    
  3. Sur les préférences de Guake (guake-prefs) choisissez Byobu comme interprète par défaut:

    screenshot

Optionnels

  1. Guake

    1. Décochez "Afficher la barre d'onglets", car vous utiliserez Byobu pour cela:
      image
    2. Si un raccourci ne fonctionne pas, essayez de désactiver ceux qui pourraient interférer avec Guake (dans mon cas, Ctrl+F2 pour la séparation verticale): screenshot
  2. Byobu

    1. Apprenez les raccourcis avec Shift+F1 ou cet excellent screencast .
    2. Découvrez les commandes de terminal byobu disponibles avec apropos byobu
    3. Pour utiliser les touches Fn sur Midnight Commander, utilisez Alt+ ,ou Shift+F12 pour désactiver les touches F byobu.

screenshot

  • Pour encore plus de bonheur, utilisez zsh avec oh-my-zsh et
  • Testez la configuration de votre terminal avec this test drive .
6
Pablo A

Essayez Vertical Split pour GNU Screen

Ce correctif fournit une fonctionnalité de fractionnement vertical pour les versions actuelles de GNU Screen. La fonctionnalité est conçue pour fonctionner de la même manière que la commande de division existante de l'écran, mais en divisant les régions verticalement plutôt qu'horizontalement. Les deux formes de fractionnements peuvent être utilisés ensemble dans n'importe quelle combinaison/quantité/commande souhaitée. Quelque chose de similaire devrait apparaître dans GNU écran 4.1 bientôt, et est déjà disponible dans CVS par ce fil de liste de diffusion (et a a été inclus dans les paquets d'écran Debian et Ubuntu à partir de 4.0.3-10. De plus, un projet récent nommé ScreenWM est spécialement conçu pour fonctionner avec un écran avec patch vsplit (vérifiez-le!).

2
Narga