2010-06-22 8 views
5

Estoy empezando en Emacs. A veces voy a experimentar con algo y cuando termino de experimentar, quiero volver al buffer que estaba editando, pero no sé cómo. Peor aún, a veces presiono una tecla por accidente y ¡ni siquiera sé a qué golpeo! En Vim, solo puedo presionar ESC para recuperar; ¿Hay alguna forma similar de recuperar en Emacs?¿Cómo recuperarse de situaciones desordenadas en Emacs?

EDITAR: Estoy usando la línea de comandos (no GUI) Emacs.

Respuesta

9

También hay ESC-ESC-ESC (teclado-escape-quit). Del manual:

El comando ESC ESC ESC (teclado-fuga-quit) o ​​bien puede dejar de fumar o abortar. Esta clave se definió porque ESC se usa para "salir" en muchos programas de PC . Puede cancelar un argumento de prefijo , borrar una región seleccionada o salir de un Reemplazo de consulta, como C-g. Puede salir del minibúfer o una edición recursiva , como C-]. También puede salir de la división del marco en ventanas múltiples, como C-x 1. Una cosa que no puede hacer, sin embargo, es detener un comando que se está ejecutando. Eso es porque se ejecuta como un comando ordinario, y Emacs no lo nota hasta que esté listo para un comando.

Encuentro que presionar ESC es una respuesta natural al deseo de "salir" de una situación. Martillearlo varias veces también puede ser emocionalmente satisfactorio cuando te sientes frustrado.

+0

Tenga en cuenta que funciona en múltiplos de 3: si lo golpea 5 veces, el minibúfer mostrará "ESC ESC" y tendrá que golpearlo una vez más. :-) – ShreevatsaR

+0

Eso está bien. Cuando estoy harto de Emacs, sigo martillándolo hasta que se aclare el minibúfer. Hay muchos números divisibles por 3 ... PS. Por supuesto, esto requiere '(setq visible-bell t)', que en mi humilde opinión es la personalización esencial de Emacs – zetetic

+1

Me encanta el bit "Martillearlo varias veces también puede ser emocionalmente satisfactorio cuando estás frustrado". – Vivi

8

"C-g" es el comando que se cierra. Esto recuperará la mayoría de las situaciones.

"C-x o" lo llevará a la otra ventana si tiene varios abiertos.

"C-h a" (a propósito) es una gran manera de descubrir más comandos y teclas. Ingrese "C-h a buffer" para obtener una lista de todos los comandos relacionados con el buffer.

+5

Sólo para ampliar esto un poco "Ch l" mostrará las entradas recientes, que puede ser útil si golpeas algo pero no sabes lo que era. Además, "C-h t" te llevará al tutorial incorporado, que debería ser tu primer paso para aprender Emacs. – Hugh

3

Su línea de asunto es un poco confusa, porque 'modos' (mayor y menor) no son lo mismo que buffers (los modos se aplican a buffers, afectando la forma en que los ve e interactúa). ¿Parece que realmente quiere saber cómo encontrar el buffer original después de haber cambiado a otro?

C-x b es el enlace predeterminado para switch-to-buffer. Le ofrece un búfer predeterminado para cambiar, que puede hacerlo presionando RET. Gran parte del tiempo el valor predeterminado ofrecido será el que usted desea. De lo contrario, puede presionar TAB para ver una lista de finalización de todos los búferes disponibles. Ahora solo escriba suficiente nombre para que sea único, presione TAB nuevamente para completar su nombre, y luego RET para seleccionarlo.

Alternativamente, C-x C-b es el enlace estándar para el comando list-buffers, que le mostrará una lista de todos los búferes. A continuación, puede usar C-x o para cambiar a other-window, mover hacia arriba o hacia abajo para seleccionar el búfer al que desea cambiar, y presione RET para cambiarlo. C-x 1 luego eliminará las otras ventanas de su pantalla de emacs.

Finalmente, muchos modos principales vinculan q a un comando 'salir', que generalmente entierra o elimina ese búfer, volviendo al anterior. Esto no está garantizado, pero funciona en muchas situaciones.

(Como ya se ha mencionado otros, es posible que potencialmente tenga que C-g o no abortar un comando activo, antes de poder utilizar estos comandos.)

Dicho todo esto, pienso que lo que realmente necesidad hacer es escribir C-h t o M-x help-with-tutorial RET y leer y seguir ese documento. Contestará todas estas clases de preguntas para usted, y muchas más. Emacs puede ser complicado, así que esto bien valdría la pena.

+0

Cambié "modos" a "situaciones desordenadas". No estoy seguro si eso aclara las cosas ... – kerkeslager

0

M-x fundamental-mode eliminará todos los modos en un búfer determinado.

+0

Esto puede ser bastante confuso si no sabes en qué modo te encuentras. Las teclas dejan de funcionar y el comportamiento se vuelve extraño. –

0

guardo un buffer "experimental" (por lo general mi memoria intermedia *scratch*) y vincular una clave para cambiar a que (en mi caso, F4). Me golpeó, vaya al buffer de cero, experimento para el contenido de mi corazón y luego usar Cxb para cambiar de nuevo a la memoria intermedia de la que estaba.

En cualquier caso, el Cxb, debe te permite cambiar los buffers y puedes usar eso para "volver" a donde estabas. El iswitchb-mode hace que cambiar de buffer sea mucho más agradable, pero esa es una opinión personal.

C-g es de Emacs dejar comando. Es aproximadamente igual a la clave de ESC de vim. Puede golpearlo varias veces para salir de lo que está haciendo (por ejemplo, a medio camino de un comando complejo, etc.) y luego volver a su flujo de trabajo habitual.

No te preocupes. Después de un tiempo, todo esto se convierte en memoria muscular. Al igual que la ESC clave para expertos de vim.

+0

No estoy preocupado. :) – kerkeslager

+2

Bueno, estaba cuando comencé a usar Emacs. Tuve que conectarme a la misma máquina desde otra y matar el proceso porque no sabía cómo dejarlo. :) –

+0

Jaja, esa es una historia increíble. Ya pasé por el proceso de aprendizaje vim, así que esta vez sabía que no debía abrir emacs sin saber cómo cerrarlo. :) – kerkeslager

2

cancelación, deshacer/rehacer

C-g cancelará cualquier comando. Hay una vez que esto no va a funcionar, cuando se interrumpe a sí mismo introducir un comando, por ejemplo:

  • Usted escribe C-xC-f (find-file).
  • Al escribir el nombre del archivo, cambia a otro almacenamiento intermedio C-xC-o.
  • Ahora no puede cancelar el comando sin cambiar de nuevo al minibúfer (área en la parte inferior).
  • Simplemente use C-xC-o nuevamente para volver allí y continuar.

C-_ es deshacer/rehacer, que sólo tiene 1 dirección.Si C-_ 20 veces, luego realiza un cambio, esos deshacer se convierten en su pasado y puede C-_ 21 veces más para deshacer su cambio y sus 20 unidades, volverá al lugar donde comenzó.

Encontrar tampones

  • Uso C-x<left> y C-x<right> en un principio para cambiar entre topes.
  • Entonces acostúmbrate a C-xb.
  • Probar M-x ibuffer.

División

  • C-x3 dividida verticalmente
  • C-x2 divide horizontalmente
  • C-x1 Eliminar todas las divisiones

Información

  • M-x info es su mejor amigo
  • Más información sobre los C-h
Cuestiones relacionadas