2010-09-28 14 views
28

Il pacchetto emacs tabbar.el aggiunge schede (buffer) a ciascuna finestra e viene fornito di serie con aquamacs e può essere aggiunto a emacs23 con il pacchetto emacs-goodies-el.Usi la tabbar Emacs?

Alcuni di voi utenti di emacs in realtà utilizzano tabbar? Sono abituato ad avere le schede, ma vorrei sapere se lavorare senza di esse potrebbe essere più produttivo, e se ci sono altri modi oltre a controllare la lista buffer (C-x C-b) per avere una panoramica dei file di progetto attuali.

Come nota a margine, mi piace molto il cassetto del progetto (e le schede) del testo, ma qualsiasi cosa simile in emacs sembra semplicemente orribile.

risposta

30

Ho provato a utilizzarlo, ma ho sentito che limitava il mio flusso di lavoro anziché migliorarlo. Esistono molte eccellenti modalità Emacs per aiutare con l'organizzazione di molti buffer e semplicemente non ritengo che i buffer di mappatura delle schede siano uno di quei modi.

Basta pensare allo scenario più semplice: molte schede. In che modo i diversi programmi si occupano di esso - limita le schede massime (IntelliJ IDEA); abilitare lo scorrimento della barra delle schede (Firefox); riducendo all'infinito le dimensioni delle schede (Google Chrome); creare righe di schede (IntelliJ IDEA) ... Nessuna di queste soluzioni è così bella e non avendo schede in Emacs abbiamo un problema in meno di cui preoccuparci. Almeno questa è la mia opinione soggettiva - altri saranno sicuramente in disaccordo ... Io personalmente non ho bisogno di nient'altro che ido e iswitchb.

Un video di ido in azione: http://www.youtube.com/watch?v=lsgPNVIMkIE

+1

+1 per la modalità 'ido'. Avete alcuni strumenti più geek come quello? =) – aL3xa

+0

Io uso C-x b con timone. Non ho provato iswitchb, ma immagino sia simile. Uomo, io amo il timone! – nephewtom

1

Fino ad ora, non ho provato, ma prima sono passato di nuovo a GNU Emacs da XEmacs, ho usato le schede XEmacs molto pesantemente. Ho scoperto che quando avevo molti file sorgente aperti, era uno dei modi più veloci per passare al file corretto.

Ora che so di tabbar, lo sto provando; e finora, mi piace.

  • John
5

Mi piace usare speed per la navigazione di buffer veloce. Ho nel mio .emacs

(speedbar-change-initial-expansion-list "buffers") 
(global-set-key [f8] 'speedbar-get-focus) 

così quando ho colpito F8, un nuovo telaio si apre con un elenco di buffer aperti, non è possibile spostare il punto sopra il buffer che si desidera selezionare e per attivarlo. Un altro F8 torna al frame principale.

3

Le schede sono davvero utili solo se si utilizza il mouse e uno dei principali vantaggi (per me) di Emacs è che posso evitare il mouse.

Quindi, no, la tabbar non è utile in generale.

Ho trovato le schede utile quando stavo passando in rassegna le pagine web (utilizzando w3m), ma stavo usando il mouse in questo caso ...

+0

Si noti che w3m sembra fare le proprie schede - e sì, sono abbastanza utili, anche se un po 'difficile da aprire da una sessione PuTTY ... – SamB

+1

non è necessario usare il mouse per usare le schede – lionel

21

Ya, io uso TabBar, insieme a sr-speed-bar.

Personalizziamo la tabbar per mostrare i file in gruppi specifici e mod alcune combinazioni di tasti per facilitare la navigazione dei file.

FWIW, ecco la sezione pertinente dal mio ~ /.emacs:

(require 'tabbar) 
; turn on the tabbar 
(tabbar-mode t) 
; define all tabs to be one of 3 possible groups: “Emacs Buffer”, “Dired”, 
;“User Buffer”. 

(defun tabbar-buffer-groups() 
    "Return the list of group names the current buffer belongs to. 
This function is a custom function for tabbar-mode's tabbar-buffer-groups. 
This function group all buffers into 3 groups: 
Those Dired, those user buffer, and those emacs buffer. 
Emacs buffer are those starting with “*”." 
    (list 
    (cond 
    ((string-equal "*" (substring (buffer-name) 0 1)) 
    "Emacs Buffer" 
    ) 
    ((eq major-mode 'dired-mode) 
    "Dired" 
    ) 
    (t 
    "User Buffer" 
    ) 
    ))) 

(setq tabbar-buffer-groups-function 'tabbar-buffer-groups) 

(global-set-key [M-s-left] 'tabbar-backward) 
(global-set-key [M-s-right] 'tabbar-forward) 

C'è una sacco di altri suggerimenti su emacswiki: http://www.emacswiki.org/emacs/TabBarMode

+1

+1 per '(stringa -equal "*" (sottostringa (nome-buffer) 0 1)) ' – Adobe

+0

In realtà funziona per il mio Emacs24.0.93 anche senza' (setq tabbar-buffer-groups-function 'tabbar-buffer-groups) '. – Adobe

9

no.

Io uso iSwitch-b

C-x b "prime lettere di tampone", allora C-s per ruotare il file specifico che voglio mi porta meno di 2 secondi senza di me dover spostare la mano al mouse.

6

No. Potrei essere convinto di provare di nuovo con la giusta personalizzazione, ma di default è abbastanza inutile per me, dato che di solito ho più di 100 buffer aperti. ibuffer con il suo filtraggio e raggruppamento è il modo migliore per gestire un numero elevato di buffer che ho provato.

+0

Grazie, non ero a conoscenza dell'opzione filtro ibuffer. – Beatlevic

+0

Uso il trucco per trucco di percorso (http: // www.emacswiki.org/emacs/IbufferMode#toc9) per abilitare '/ f' per far corrispondere anche i buffer diretti, e quindi'/g' per creare un gruppo con nome dai filtri correnti. Il più delle volte, è tutto ciò di cui ho bisogno per evitare di essere sopraffatto :) Puoi salvare i gruppi di filtri se hai intenzione di lavorare con loro per un po ', e puoi riorganizzarli con 'Ck' illing e' Cy' anking le intestazioni di gruppo (tranne Default che è sempre l'ultima). – phils

3

Abbastanza franco, troverete editor migliori di emacs quando si parla di schede, menu e barra degli strumenti. Emacs ti incoraggia chiaramente a usare la tastiera e a lasciare il tuo mouse addormentato.

Tabbar o qualsiasi altro strumento di gestione schede avranno difficoltà quando si apriranno molti buffer. Inoltre non vuoi mostrare tutti i tuoi buffer nelle schede. Dovendo rimuovere la mano dalla tastiera per afferrare il mouse e fare clic su una scheda e quindi rimuovere la mano dal mouse e metterla sulla tastiera è chiaramente una perdita di tempo quando invece è possibile utilizzare un semplice tasto.

La cosa migliore che si possa fare per i vostri emacs e v'è quello di avere la seguente configurazione nel vostro .emacs:

(menu-bar-mode -1)   ;hide menu-bar 
(scroll-bar-mode -1)   ;hide scroll-bar 
(tool-bar-mode -1)   ;hide tool-bar 

che vi costringerà a dimenticare il vecchio modo di fare le cose utilizzando un mouse (come usare tabbar, o menu ...), e usare invece le dita.

0

C-x b<RET> fornisce sempre l'ultimo buffer modificato. E cosa fai con le schede? Per lo più tornare indietro & tra due file. Ecco qua.

1

Tabbar sembra che è dimenticato da Dio

E per quanto riguarda elscreen?

Può essere trovato via http://melpa.milkbox.net/#/elscreen - o installato emacs-elpa (o melpa).

Elscreen è molto utile per me.

+1

elscreen sembra rendere il mio sfarfallio dello schermo emacs sui ritorni a capo :(per nessun motivo chiaro. – daj

3

le schede non sono riservate agli utenti di mouse. guarda il flusso di lavoro possibile di vim: gt to go next tab o gT to go previous. Supponiamo tu abbia una finestra dedicata a vim: potresti facilmente passare da un buffer a un altro. Sì, le schede sono probabilmente per utenti con pochi buffer. se ne hai centinaia, questo non funzionerà.