Teclados tipo Emacs en todo el sistema?

27

¿Hay alguna manera de establecer atajos de teclado tipo Emacs (al menos el subconjunto mencionado a continuación) para todo el sistema operativo? Esto es posible en algunas aplicaciones como el terminal, Emacs (ver figura :) y adicionalmente a través de complementos especiales en algunas otras aplicaciones (Eclipse), pero me acostumbré tanto a Cf-ing a través del texto y nunca tener que saltar a las flechas que yo Me gustaría poder hacer esto en todo el sistema para poder hacerlo siempre que esté escribiendo, por ejemplo, buscar canciones en Rhythmbox, escribir cosas en el tablero o el HUD, escribir correos en Thunderbird o Gmail ... Los combos que más me interesan son:

  • Cf - adelante
  • Cb - hacia atrás
  • Ca - hogar
  • Ce - fin
  • Cd - borrar
  • Ck - eliminar línea

(nota para usuarios que no son emacs - C significa Ctrl)

metakermit
fuente

Respuestas:

15

Basado en: /superuser//a/516847/205010

  1. Instale la herramienta gnome-tweak: sudo apt-get install gnome-tweak-tool

  2. Abrelo: gnome-tweak-tool

  3. Ir Keyboard and Mousey cambiar Key ThemeaEmacs

Eyal Levin
fuente
1
esto es bastante bueno, pero muchas cosas no funcionan, es decir, Cb, Ck, etc. La solución probablemente es llevar todo a emacs, es decir, navegador, correo electrónico, etc. en lugar de tratar de empujar las asociaciones de teclas más allá de emacs
bph
¿Dónde no funciona? En mi caso, funciona la mayor parte del tiempo bastante bien.
Eyal Levin
Parece que si una aplicación implementa un acceso directo equivalente, entonces eso tiene prioridad. Lo cual es incómodo
bph
No creo que ocurra para todas las aplicaciones. En Chrome me encontré algunas veces que los accesos directos globales de Emacs tenían prioridad sobre los accesos directos de aplicaciones web específicas.
Eyal Levin
mi caso de prueba fue usar Yahoo Mail y Gmail en un navegador Firefox. en ambos casos, Ca Ce Cf Cp Cn funcionó como se esperaba, pero Cb cambió la fuente en negrita y Ck mostró un diálogo de enlace. Entonces, para mi aplicación en particular, es un poco impredecible: tendré que probar Chrome y ver si es diferente
bph
14

Logré resolver el problema usando AutoKey , como se recomienda en esta respuesta . Algunas de mis frases son:

content                     |   hotkey             |   description
---------------------------------------------------------------
<ctrl>+f                    |   <ctrl>+<alt>+f     | replace the find operation
<home>                      |   <ctrl>+a           | begining of line
<end>                       |   <ctrl>+e           | end of line
<left>                      |   <ctrl>+b           | back one letter
<right>                     |   <ctrl>+f           | forward one letter
<delete>                    |   <ctrl>+d           | delete one letter
<home><shift>+<end><delete> |   <ctrl>+k           | kill line

(sí, el combo kill line fue desagradable de encontrar :)

Podrías seguir reemplazando cosas, pero no quiero que la reasignación mental crezca demasiado (por ejemplo, ctrl + n no abre una nueva ventana, sino que pasa a la siguiente línea). En general, AutoKey es una aplicación genial.

De todos modos, ahora tengo la ergonomía de emacs de nunca tener que dejar las "teclas de letras" en todo Ubuntu, en cada cuadro de texto que estoy editando. Yeiii!

Actualización: a medida que profundicé en jugar con AutoKey para ajustar todo, hice algunos cambios. Puede ver mi configuración completa de AutoKey Ubuntu-Emacs (e instalarla) en mi dotfiles git repo .

metakermit
fuente
Así que probé la palabra <alt> + f hacia adelante, pero seguía chocando con la apertura de un archivo en emacs. ¿Te enfrentaste a ese problema? como lo resolviste
Sambatyon
4

Hay otra solución que no involucra aplicaciones de terceros publicadas aquí emacs keybindings en ubuntu 12.04

dolzenko
fuente
El uso de este método no funcionará en aplicaciones como Thunderbird, donde Ctrl + F se interpretará como "Buscar cadena" en lugar de "Mover el cursor hacia adelante".
holocronweaver
@holocronweaver es cierto, de hecho, he renunciado a hacer que las teclas Emacs funcionen en Thunderbird tristemente, pero la mayoría de las otras entradas (especialmente en Chrome) casi funcionan. No puedo evitar sentir que la solución AutoKey también es el camino hacia el violín y la frustración interminables :) Dicho esto, ¿ha probado la solución propuesta por kermit666 y, de ser así, funcionó para usted?
dolzenko
Después de un poco de edición para que se adapte a mis gustos, la solución AutoKey ha funcionado bastante bien en Firefox y Thunderbird en Ubuntu 14.04. Aún más pruebas para hacer.
holocronweaver