2011-01-12 17 views
41

Si estoy en pantalla dividida viendo 2 búferes diferentes en Emacs y el cursor está en el búfer superior, ¿cuál es una forma rápida de mover el cursor al búfer inferior?¿Cómo cambiar entre búferes visibles en emacs?

Pregunta de bonificación: si conozco un comando, ¿hay alguna manera fácil de identificar a qué combinación de teclas está vinculado, si corresponde?

Respuesta

55

Para cambiar a otro uso de almacenamiento intermedio: C-x o.

Describa la clave: C-h k.

+2

necesita esperar un poco después de C-x, cuando aparece en la línea, presione o – Tim

+7

El comentario anterior no es correcto: no necesita esperar a que aparezca C-x. – nguthrie

+0

Algo más actualizado: http://www.emacswiki.org/emacs/SwitchingBuffers –

8

Con respecto a la cuestión de bonificación, si se conoce el comando (other-window), y se invoca con Mx otra ventana, Emacs mostrará un breve mensaje en el minibuffer que indica: "Se puede ejecutar el comando` otra ventana 'con Cx n'.

También hay M-x donde está que solicita un comando y le proporciona los enlaces actuales que dan como resultado ese comando (si corresponde).

Hay un tutorial que se envía con Emacs. En realidad, tiene la respuesta a su pregunta (consulte la sección MULTIPLE WINDOWS, aproximadamente 80% en el tutorial). Se puede acceder al tutorial a través del C-h t, o M-x help-with-tutorial. También hay un enlace al tutorial en la pantalla inicial de Emacs. Justo debajo del enlace al tutorial hay un enlace al en línea Emacs Guided Tour. El tutorial le guía a través de los comandos básicos de edición/movimiento, la visita guiada es más una introducción a lo que Emacs tiene para ofrecer.

+0

Gracias Trey, en la verdadera forma de codificador, seguí el primer 75% del tutorial, dije "sí, casi lo tengo" y me fui a codificar. –

9

También puede estar interesado en WindMove, que permite la navegación "direccional" ventana con < S-up>, < S-derecha> etc.

+1

Sí, y ahora está incorporado, por lo que solo tiene que agregar '(windmove-default-keybindings)' a su archivo init. – TooTone

0

Si desea navegar entre sólo de tampones que se muestran actualmente, entonces usted realmente desea navegar entre las ventanas que se muestran en esto le da una forma de hacer eso, el uso de nombres de ventana/frame que son los mismos que los tampones:.

ver Better window navigation in Emacs?

23

Aquí es una mejor solución cuando abre más de dos ventanas (buff ERS) en un fotograma:

(global-set-key (kbd "C-x <up>") 'windmove-up) 
(global-set-key (kbd "C-x <down>") 'windmove-down) 
(global-set-key (kbd "C-x <left>") 'windmove-left) 
(global-set-key (kbd "C-x <right>") 'windmove-right) 

Ahora, puede utilizar C-x UP/DOWN/LEFT/RIGHT para ir a la anterior/inferior de tampón/izquierda/derecha cuando tiene tres o más en un marco, que son más precisos que 'other-window y Don no es necesario instalar ningún paquete.

Incluso PUEDE hacer que el ciclo de los búferes en la dirección (vertically/horizontally) con uno de los shortkeys anteriores con la configuración en el archivo .emacs/init.el, pero no lo recomiendo (además de que no recuerdo ya no, puedes buscarlo en google si quieres).

Por supuesto, puede utilizar otras atajos que no sean los que uso en mis .emacs.

+0

Tenga en cuenta que de manera predeterminada Cx y Cx se usan para cambiar entre ** buffers activos ** – Ascam

+0

Tenga en cuenta que esto no funciona si ha ejecutado bash en uno de sus paneles, estos comandos se enganchan con bash en lugar de emacs utilizarlos. Probablemente se aplica a otros programas ejecutados a través de emacs. Puedes moverte entre los paneles hasta que el panel bash esté activo y luego estés atascado. C-x o tampoco funciona. – LawfulEvil

+0

@LawfulEvil do 'C-c C-x o' para escapar de la captura del plano bash. 'C-c' le dice a la ventana que está ingresando comandos de emacs no terminales. –

Cuestiones relacionadas