2010-09-28 20 views
28

El paquete emacs tabbar.el agrega pestañas (buffer) a cada ventana y viene de serie con aquamacs y se puede agregar a emacs23 con el paquete emacs-goodies-el.¿Utiliza la barra de pestañas de Emacs?

¿Alguno de ustedes usuarios hardcore de emacs realmente usan tabbar? Estoy algo acostumbrado a tener pestañas, pero me gustaría saber si trabajar sin ellas podría ser más productivo, y si hay otras formas además de verificar tu lista de almacenamiento intermedio (C-x C-b) para obtener una visión general de tus archivos de proyecto actuales.

Como nota al margen, realmente me gusta el cajón de proyectos de textmate (y las pestañas), pero cualquier cosa similar en emacs parece simplemente horrible.

Respuesta

30

He intentado usarlo, pero sentí que restringía mi flujo de trabajo en lugar de mejorarlo. Hay muchos modos excelentes de Emacs para ayudar en la organización de muchos búferes y simplemente no creo que asignar búferes a pestañas es una de esas formas.

Simplemente piense en el escenario más básico: muchas pestañas. Cómo se enfrentan los diferentes programas: limite las pestañas máximas (IntelliJ IDEA); habilitar el desplazamiento de la barra de pestañas (Firefox); reduciendo infinitamente el tamaño de las pestañas (Google Chrome); creando filas de pestañas (IntelliJ IDEA) ... Ninguna de estas soluciones es tan buena y al no tener pestañas en Emacs tenemos un problema menor del que preocuparnos. Al menos esta es mi opinión subjetiva, otros estarán en desacuerdo ... personalmente no necesito nada más que ido yy iswitchb.

Un video de IDO en acción: http://www.youtube.com/watch?v=lsgPNVIMkIE

+1

+1 para el modo 'ido'. ¿Tienes algunas herramientas más geek como esa? =) – aL3xa

+0

Uso C-x b con timón. No lo he intentado con iswitchb, pero supongo que es similar. ¡Hombre, amo el timón! – nephewtom

1

Hasta ahora, no he probado, pero antes de que cambió de nuevo a GNU Emacs de XEmacs, que utiliza las pestañas XEmacs muy fuertemente. Descubrí que cuando tenía muchos archivos fuente abiertos, era una de las formas más rápidas de saltar al archivo correcto.

Ahora que sé sobre tabbar, lo estoy intentando; y hasta ahora, me gusta.

  • John
5

me gusta usar la barra aceleradora para la navegación rápida búfer. Tengo en mis .emacs

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

así que cuando llegué a F8, una nueva trama aparece con una lista de buffers abiertos, allí se puede mover el punto sobre el buffer que desea seleccionar y para activarlo. Uno más F8 vuelve al marco principal.

3

Las pestañas solo son útiles si usas el mouse, y una de las ventajas principales (para mí) de Emacs es que puedo evitar el mouse.

Por lo tanto, no, tabbar no es útil en general.

Lo que encontrar las pestañas útil cuando estaba navegando por las páginas web (utilizando w3m), pero yo estaba usando el ratón en ese caso ...

+0

Tenga en cuenta que w3m parece tener sus propias pestañas, y sí, son bastante útiles, aunque un poco complicado abrirlas desde una sesión PuTTY ... – SamB

+1

no es necesario utilizar el mouse para usar las pestañas – lionel

21

Ya, yo uso barra de pestañas, junto con sr-speedbar.

Personalizo tabbar para mostrar archivos en grupos específicos y modifico algunas combinaciones de teclas para facilitar la navegación por los archivos.

FWIW, aquí está la sección relevante de mi ~ /.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) 

Hay mucho de la de otros consejos sobre EmacsWiki: http://www.emacswiki.org/emacs/TabBarMode

+1

+1 para '(cadena -equal "*" (subserie (nombre-buffer) 0 1)) ' – Adobe

+0

Actualmente funciona para mi Emacs24.0.93 incluso sin' (setq tabbar-buffer-groups-function 'tabbar-buffer-groups) '. – Adobe

9

no.

utilizo iSWITCH-b

C-x b "las primeras letras de tampón", entonces C-s para hacer girar al archivo específico que quiero me lleva menos de 2 segundos sin tener que mover la mano al ratón.

6

No. Posiblemente podría convencerme de volver a intentarlo con la personalización adecuada, pero por defecto es bastante inútil para mí, ya que habitualmente tengo más de 100 buffers abiertos. ibuffer con su filtrado y agrupación es la mejor manera de administrar grandes cantidades de almacenamientos intermedios que he probado.

+0

Gracias, no estaba al tanto de la opción de filtro de ibuffer. – Beatlevic

+0

Utilizo el Filtro por el truco del nombre de ruta (http: // www.emacswiki.org/emacs/IbufferMode#toc9) para habilitar '/ f' para que coincida con los buffers dired, y luego'/g' para hacer un grupo con nombre de los filtros actuales. La mayoría de las veces, eso es todo lo que necesito para evitar quedar abrumado :) Puedes guardar los grupos de filtros si vas a trabajar con ellos por un tiempo, y puedes reorganizarlos mediante 'Ck' illing y' Cy' anking los encabezados de grupo (excepto por defecto, que siempre es el último). – phils

3

Francamente, encontrará mejores editores que emacs al hablar de pestañas, menús y barras de herramientas. Emacs claramente lo anima a utilizar su teclado y dejar el mouse dormido.

Tabbar o cualquier otra herramienta de administración de pestañas tendrá dificultades cuando tenga muchos búferes abiertos. Tampoco quiere mostrar todos sus búferes en pestañas. Tener que quitar la mano del teclado para agarrar el mouse y hacer clic en una pestaña, luego quitar la mano del mouse y colocarla en el teclado es claramente una pérdida de tiempo cuando se puede usar una simple pulsación de tecla.

Lo mejor que podría hacer a sus emacs ya que es tener la siguiente configuración en su .emacs:

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

Eso le obligará a olvidar la vieja manera de hacer las cosas usando un ratón (como usar tabbar, o menús ...), y usar sus dedos en su lugar.

0

C-x b<RET> siempre le proporciona el último búfer editado. ¿Y qué haces con las pestañas? En su mayoría, vuelve atrás & adelante entre dos archivos. Ahí tienes.

1

Tabbar parece que es de mala muerte

¿Qué pasa con elscreen?

Se puede encontrar a través de http://melpa.milkbox.net/#/elscreen - o instalado emacs-elpa (o melpa).

Elscreen es muy útil para mí.

+1

elscreen parece hacer parpadear la pantalla de mi emacs en devoluciones de carro :(sin razón clara. – daj

3

Las pestañas no están reservadas para usuarios de mouse. observe el posible flujo de trabajo de vim: gt para ir a la siguiente pestaña, o gT para ir a la anterior. Supongamos que tiene una ventana dedicada para vim: puede cambiar fácilmente de un búfer a otro. Sí, las pestañas probablemente sean para usuarios con pocos buffers. si tienes cientos, esto no funcionará.

Cuestiones relacionadas