Intentando asignar <Ctrl> + <hjkl> a <Izquierda Abajo Arriba Derecha> globalmente (teclas de flecha similares a Vim) con xmodmap

9

Estoy tratando de mapear Ctrl+ H, J, K, La las teclas de flecha Left, Down, Up, Right, respectivamente, en el sistema operativo Ubuntu (a nivel mundial, no dentro de Vim).

He intentado la solución publicada aquí , pero los comandos del modificador no funcionan. Esto es lo que estoy intentando:

xmodmap -e "keycode 45 Control_L = k Up"
xmodmap -e "keycode 45 control = k Up"

(el código clave 45 se asigna a "k")

Ninguno de los comandos funciona. (No dan errores, pero ctrl+ kno se reasigna a up arrow)

¿Hay alguna manera de hacer este xmodmap, y si no, hay una solución más limpia?

¡Gracias!

Editar: he encontrado mi respuesta aquí , gracias a Swift

Programador de lucha
fuente

Respuestas:

6

Seguramente es una idea muy extraña convertir Ubuntu en el nombre en clave "VimOS". Creo que es mucho más adecuado asignar las teclas de Vim a un grupo más libre y equitativo del teclado. O definitivamente NO debido a esto también podría ser útil.

Sin embargo, no elimino mi primera sugerencia sobre las asignaciones de Vim y debo decir que la respuesta a su pregunta existe aquí:
navegación de todo el sistema vim-style (hjkl)

Parcialmente estoy de acuerdo con esta opinión (gracias a Shell Hell ):

NOTA 3: Configuración Ctrl / Meta+ H, J, K, Lcombinaciones de teclas parece ser forma más sencilla de tener la navegación vim-estilo, pero no lo es. Primero: tendrías que hacer esto por aplicación, que es un proceso agotador. Segundo: probablemente terminará rompiendo las asignaciones predeterminadas para cualquier aplicación dada. Por último, pero no menos importante: algunas aplicaciones, por ejemplo, rtorrent u htop, no le permiten cambiar sus valores predeterminados, salvo parcheando su código fuente. Por razones similares, tampoco podrá hacer el trabajo Super / Hyper.

Y también encontré una respuesta cercana aquí:
Superusuario: asignación de Super + hjkl a las teclas de flecha debajo de X

Vim utiliza un modo de conmutación para asignar teclas. Entonces, xmodmap para Vim son algunos globales conectables lo que rompe la experiencia clásica de Vim. Aun así afirmar que suena patético;)

Vim admite varios modos de edición: normal, insertar, reemplazar, visual, seleccionar, línea de comandos y pendiente del operador. Puede asignar una tecla para trabajar en todos o algunos de estos modos.

Teclas de asignación en Vim - Tutorial (Parte 1)
Teclas de asignación en Vim - Tutorial (Parte 2)
Teclas de asignación en Vim - Tutorial (Parte 3)

rápido
fuente
Hola rápido, gracias por la respuesta. Quizás no estaba claro al hacer mi pregunta. No estoy intentando hacer ninguna reasignación de teclas dentro de Vim. Realmente estoy tratando de asignar ctrl + hjkl a las teclas de flecha: izquierda, abajo, arriba, derecha, respectivamente, en mi distribución Ubuntu GNU / Linux. La publicación que vinculé afirma que esto es posible (indirectamente), pero no puedo lograrlo con éxito.
StrugglingProgrammer
lo siento, entendí que tu primera edición no es correcta. ok, actualizará la respuesta)
rápido
1
VimOS! ¿Dónde lo consigo?
jeremyjjbrown
1

Tengo Tux-J y Tux-K asignados a Up and Down en KDE, es relevante para todas las aplicaciones. En realidad es bastante fácil de configurar.

  1. Ven aquí: System Settings -> Custom Shorcuts -> Preset Actions
  2. Ahora haga clic derecho Preset Actionsy elijaNew -> Global Shortcut -> Send Keyboard Input
  3. Llamar al nuevo atajo VIM-J
  4. En la pestaña Disparador, haga clic en el botón Acceso directo y presione Tux- J.
  5. En la pestaña Acción ingrese Down
  6. En la parte inferior de la ventana, haga clic Apply.
  7. Comprueba que el atajo funciona. Si es así, configure las teclas HK y L restantes.

¡Disfrutar!

dotancohen
fuente