si quiero cambiar las ventanas en emacs hago Cx o y eso está bien conmigo ... pero cuando quiero cambiar la ventana muchas veces en una la fila Cx o no es tan conveniente ... ¿hay alguna manera de cambiar la ventana con solo un golpe después de la primera Cx o? y en general ... ¿hay una huelga (única) que repita mi último atajo?Cambiando la ventana más rápido en Emacs (o repitiendo el último atajo con un solo strike)
Respuesta
Echa un vistazo windmove; te permite mantener presionada una tecla modificadora y presionar una tecla de flecha para moverte a la ventana en esa dirección. Lo he estado utilizando durante años con el modificador predeterminado (shift) y, curiosamente, no interfiere con mis impulsos para usar la selección de texto con flecha de desplazamiento en otras aplicaciones.
También hay un equivalent de marcos, que realmente debería probar ...
utilizo C-ficha para cambiar de ventana:
(global-set-key [C-tab] 'other-window)
mantiene pulsada la tecla de control, puede saltar varias veces ventanas simplemente pulsando la tecla de tabulación.
EDIT: mi respuesta original contenía la siguiente
No creo que hay una manera integrada para repetir el último comando para los comandos básicos como este ...
Esto ya no es cierto. Emacs ahora contiene repeat.el, que permite exactamente el comportamiento que pidió rabidmachine9.
El siguiente código creará una repetición other-window
, de tal manera que después de pulsar C-x o
primera vez, presionando o
después continuará moviéndose a la siguiente ventana.
(require 'repeat)
(defun make-repeatable-command (cmd)
"Returns a new command that is a repeatable version of CMD.
The new command is named CMD-repeat. CMD should be a quoted
command.
This allows you to bind the command to a compound keystroke and
repeat it with just the final key. For example:
(global-set-key (kbd \"C-c a\") (make-repeatable-command 'foo))
will create a new command called foo-repeat. Typing C-c a will
just invoke foo. Typing C-c a a a will invoke foo three times,
and so on.
See related discussion here:
http://batsov.com/articles/2012/03/08/emacs-tip-number-4-repeat-last-command/#comment-459843643
https://groups.google.com/forum/?hl=en&fromgroups=#!topic/gnu.emacs.help/RHKP2gjx7I8"
(fset (intern (concat (symbol-name cmd) "-repeat"))
`(lambda ,(help-function-arglist cmd) ;; arg list
,(format "A repeatable version of `%s'." (symbol-name cmd)) ;; doc string
,(interactive-form cmd) ;; interactive form
;; see also repeat-message-function
(setq last-repeatable-command ',cmd)
(repeat nil)))
(intern (concat (symbol-name cmd) "-repeat")))
(global-set-key (kbd "C-x o") (make-repeatable-command 'other-window))
La función make-repeatable-command
que entonces puede utilizar para crear otros comandos que se repiten, utilizando la misma plantilla.
Gracias por la respuesta. ¿Tengo que poner el script en mis .emacs? – rabidmachine9
Sí, al agregar esa línea a sus .emacs se configurará la clave para cada sesión de emacs.Para agregarlo a su sesión actual sin reiniciar, simplemente ingrese la línea en el búfer de scratch y luego escriba C-j. – Tyler
Tiene, por ejemplo, 10 ventanas en el marco, y está haciendo M-x other-window
muchas veces seguidas, supongo que salta, digamos ventana # 2 a ventana # 8 y luego a ventana # 1 y así sucesivamente. Al hacer un montón de other-window
en una fila, me imagino que no hace nada importante hasta que llegue a la ventana deseada.
Ver si universal-argument
se vincula a C-u
ayuda. En el marco de la ventana 10, si se encuentra en la ventana n. ° 3 y quiere ir a la ventana n. ° 9, estará saltando a la sexta ventana siguiente. Entonces harías C-u 6 C-x o
. O bien, también puede hacer C-u -4 C-x o
y llegar a la ventana n. ° 9 desde la ventana n. ° 3.
poco tarde a la fiesta, pero también hay window-numbering (conocido como 'ventana de números' en Melpa).
Esto incluye un número de la ventana en el modeline -1-
, -2-
etc, y proporciona M-1
, etc M-2
asociaciones de teclas para seleccionar directamente. Muy rápido.
Parece que esto se llama 'ventana-numeración' ahora en melpa –
- 1. Cambiando solo el tamaño de un UIFont en un UIButton
- 2. Izquierda JOIN más rápido o Inner Join más rápido?
- 3. ¿Cuál es el más rápido en PHP- MySQL o MySQLi?
- 4. ¿Es git con cvs más rápido que cvs solo?
- 5. ¿Qué es más rápido EN O?
- 6. ¿Cómo hacer mazos de cuerda más rápido en emacs?
- 7. Entre Encontrar, Solo, Primero, ¿cuál es el más rápido?
- 8. RSpec más rápido con JRuby
- 9. ¿Cuál es más rápido COALESCE O ISNULL?
- 10. jQuery - ¿Cómo saber si la ventana está cambiando de tamaño en ancho/alto o en ambas?
- 11. En javascript, ¿acceder a 'window.Math' es más lento o más rápido que acceder al objeto 'Math' sin la 'ventana'?
- 12. Visual Studio: ¿hay un comando o atajo de teclado de último comando?
- 13. En MySQL, ¿es más rápido eliminar e insertar o es más rápido actualizar las filas existentes?
- 14. Forma más Pythonic de dividir una matriz repitiendo elementos
- 15. ¿Qué es más rápido, XPath o Regexp?
- 16. ¿Cuál es generalmente más rápido, un rendimiento o un apéndice?
- 17. Redirigir más rápido, PHP o htaccess?
- 18. El autodesplazamiento está cambiando el tamaño de mi ventana
- 19. Double.TryParse o Convert.ToDouble - ¿Qué es más rápido y más seguro?
- 20. ¿Qué es más eficiente - $ ('selector'). Last() o $ ('selector: último')?
- 21. Más rápido que os.walk o glob?
- 22. ¿El substr o LIKE es más rápido en Oracle? ¿Sería
- 23. escribe o imprime, ¿qué es más rápido?
- 24. Dimensión, solo cambiando el ancho/alto
- 25. ¿Qué es más rápido? Comparación o asignación?
- 26. ¿Qué es más rápido: JDBC o JNDI?
- 27. bucle en 2 listas, repitiendo el más corto hasta el final del más largo
- 28. ¿Quién es más rápido: PEG o GLR?
- 29. que es más rápido? Declaración o PreparedStatement
- 30. ¿Cómo crear un atajo contextual de shell con el botón derecho "editar con Emacs"?
windmove y framemove son geniales. Solía tener mi propio enlace "rápido" para 'other-window', pero lo abandoné por completo una vez que comencé a utilizar estos paquetes. El cambio de ventanas por dirección visual es mucho más intuitivo que el ciclo a través de ellos en cualquier orden en que se almacenan internamente. – phils
esto es realmente muy bueno ... – rabidmachine9