Je voudrais des onglets comme firefox mais pour emacs.
J'ai trouvé ceci: http://emacswiki.org/emacs/TabBarMode
Mais il suffit d'ajouter à chaque tampon ( fenêtre dans la terminologie Emacs) une barre qui affiche les tampons actuellement ouverts.
Je voudrais qu'un onglet puisse contenir plusieurs tampons ( fenêtres dans la téminologie Emacs), que je peux diviser comme vous le souhaitez. C'est-à-dire que chaque onglet doit correspondre à un "état de fenêtre" (au sens de window-state-get
).
J'aurais un onglet pour mes tâches, un autre pour le code, un autre pour la lecture web etc.
Est-ce possible? La barre d'onglets peut-elle être adaptée à cette fin?
[edit2]
Cette question a attiré plus d'attention que je ne l'avais prévu. Il semble qu'il existe une solution, mais qui nécessiterait un peu de recherche et de peaufinage. Bien que cette semaine / la semaine prochaine soit un peu chargée pour moi, je vais analyser les réponses et essayer de construire quelque chose qui fonctionne, puis je modifierai cette question pour refléter mes résultats. Veuillez patienter =)
[modifier]
Sorte de semblable à:
/programming/24157754/make-frames-in-emacs-gui-behaves-like-frames-in-terminal
Je réglerais également avec plusieurs trames en une seule session GUI.
Réponses:
Diviser les tampons en groupes
C'est possible avec la barre d'onglets. Vous pouvez ajouter des règles aux tampons de groupe en groupes. Voici un extrait de base:
Exemples de règles:
Une fois que vous avez composé les règles, vous pouvez appuyer sur + ou - sur la ligne de tabulation de la barre d'onglets pour basculer entre les groupes, et également sur ◀ et ▶ pour basculer entre les tampons. Ou liez simplement les défuns suivants:
et vous déplacer entre les onglets et les groupes d'onglets avec le clavier.
Personnellement, je groupe les onglets, afin de voir ce qui est ouvert, mais de les parcourir
ido-switch-buffer
.Basculer entre un ensemble de règles
On peut également définir un ensemble différent de règles de regroupement de tampons et alterner entre celles-ci. Voici un exemple de cycle entre deux ensembles de règles de regroupement de tampons:
Cela permet de basculer entre les défuns de regroupement
tabbar-buffer-groups-common
et detabbar-buffer-groups
tabulation.Trier les tampons de la barre d'onglets par nom
Je trouve avantageux de trier les tampons de la barre de tabulation par nom. Voici comment l'obtenir:
la source
ATTRIBUT: Le regroupement des tampons par trame est une implémentation directe des concepts et des portions sélectionnées de code développées / écrites par Alp Aker dans la bibliothèque frame-bufs: https://github.com/alpaker/Frame-Bufs
Voici un exemple d'utilisation
tabbar.el
dynamique de la bibliothèque et du groupe d'onglets / tampons par image en ajoutant des onglets / tampons avecC-c C-a
ou en supprimant des onglets / tampons avecC-c C-n
. Il n'y a que deux (2) groupes - associés à la trame actuelle (c.-à-d."A"
) Et NON associés à la trame actuelle (c.-à"N"
-d.). Les groupes sont locaux de trame, ce qui signifie que chaque trame peut avoir son propre regroupement. Le regroupement personnalisé peut être réinitialisé avecC-c C-r
. Basculez entre les groupes associés et non associés avecC-tab
. Passez à l'onglet / tampon suivant dans le groupe actuel avecM-s-right
. Basculez vers l'onglet / tampon précédent dans le groupe actuel avecM-s-left
.Les onglets / tampons peuvent être ajoutés ou supprimés par programme avec
my-add-buffer
etmy-remove-buffer
. Pour un exemple sur la façon d'ouvrir certains tampons dans des cadres sélectionnés, veuillez consulter le fil associé intitulé Comment intercepter un fichier avant son ouverture et décider quel cadre : /programming//a/18371427/2112489 La fonctionmy-add-buffer
devrait être incorporé aux emplacements appropriés du code dans le lien ci-dessus si un utilisateur choisit de mettre en œuvre cette fonctionnalité.L'utilisateur peut souhaiter créer une entrée dans une personnalisation
mode-line-format
qui affiche le nom du groupe d'onglets actuel dans la ligne de mode en incorporant l'extrait de code suivant: La(:eval (when tabbar-mode (format "%s" (tabbar-current-tabset t))))
personnalisation de la ligne de mode plus en détail, cependant, dépasse le cadre de cet exemple.La fonction
tabbar-add-tab
a été modifiée pour alphabétiser les tabulations / tampons.La fonction
tabbar-line-tab
a été modifiée afin de fournir quatre (4) faces différentes selon la situation. Si l'onglet / tampon est associé au cadre et EST sélectionné, utilisez alorstabbar-selected-associated
face. Si l'onglet / tampon est associé au cadre et NON sélectionné, utiliseztabbar-unselected-associated
face. Si l'onglet / tampon n'est PAS associé au cadre et EST sélectionné, utiliseztabbar-selected-unassociated
face. Si l'onglet / tampon n'est PAS associé au cadre et n'est PAS sélectionné, utiliseztabbar-unselected-unassociated
face.La capture d'écran suivante illustre les deux regroupements de tampons / onglets possibles: (1) à gauche se trouve un regroupement des tampons / onglets associés au cadre nommé
SYSTEM
[onglets jaune et blanc], avec la lettre majuscule "A" indiquée dans le ligne de mode; et (2) à droite se trouve un groupe de ces tampons / onglets qui ne sont PAS associés au cadre nomméSYSTEM
[onglets bleu et rouge], avec une lettre majuscule "N" indiquée dans la ligne de mode.la source
Pensez à vérifier elscreen , bien qu'il ne regroupe pas réellement les tampons.
Ce qu'il fait, c'est grouper les fenêtres et donner accès à plusieurs dispositions (onglets) parmi lesquelles vous pouvez vous déplacer rapidement. Mon flux de travail a souvent du code Ruby et des tests associés dans un écran, tandis que mes notes de tâches et d'organisation sont dans un autre, et peut-être un tampon de travail pour la rédaction de requêtes SQL se trouve dans un troisième. Cela me permet de basculer facilement entre les tâches et les projets, même si chaque écran utilise le même pool de tampons.
la source
Et mon plugin, centaur-tabs? Il a beaucoup d'options de configuration, il est vraiment fonctionnel, il est pris en charge par des thèmes très populaires comme les thèmes Kaolin et dans l'ensemble, c'est un ensemble très esthétique et esthétique (selon les commentaires de l'utilisateur). Il est disponible dans MELPA et il ressemble à ceci:
la source
Voici ma config, pour ce qui en vaut la peine. Il comporte:
mouse-2
pour fermer, comme dans les navigateurs ,mouse-3
pour ouvrir dans une nouvelle fenêtre Emacs, comme dans i3 )M-left
et onglets de commutateur droit, comme dans TMux / Screen )moe-dark
configuration " Thème Moe / " incluse)*buffers*
et "régulier")Barre d'onglets
Annexe 1 - Thème Moe
Annexe 2 - Basculer les 2 derniers tampons (macro KB)
la source