Essayer de mapper <Ctrl> + <hjkl> à <Gauche Bas Haut Droite> globalement (touches fléchées de type Vim) avec xmodmap


9

Je suis en train de la carte Ctrl+ H, J, K, Là la flèche touches Left, Down, Up, Rightrespectivement, sur Ubuntu OS (globalement, pas à l' intérieur VIM).

J'ai essayé la solution publiée ici , mais les commandes de modification ne fonctionnent pas. Voici ce que j'essaye:

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

(le code clé 45 correspond à "k")

Aucune des commandes ne fonctionne. (Ils ne donnent aucune erreur, mais ctrl+ kn'est pas remappé up arrow)

Existe-t-il un moyen de faire ce xmodmap, et sinon, existe-t-il une solution de contournement plus propre?

Merci!

Edit: j'ai trouvé ma réponse ici - grâce à swift

Réponses:


6

C'est sûrement une idée très étrange de transformer Ubuntu en nom de code "VimOS". Je pense que beaucoup plus adéquat pour mapper les touches de Vim à un cluster plus libre et équitable du clavier. Ou certainement PAS à cause de cela pourrait également être utile.

Cependant, je ne supprime pas ma première suggestion sur les mappages Vim et je dois dire que la réponse à votre question existe ici:
Navigation à l'échelle du système de style vim (hjkl)

En partie, je suis d'accord avec ce point de vue (grâce à Shell Hell ):

NOTE 3: Mise en place Ctrl / Meta+ H, J, K, Lraccourcis clavier semble être le plus simple moyen d'avoir la navigation vim style mais ce n'est pas. Premièrement: vous devrez le faire par application, ce qui est un processus fastidieux. Deuxièmement: vous finirez probablement par casser les mappages par défaut pour une application donnée. Dernier point mais non le moindre: certaines applications, par exemple rtorrent ou htop, ne vous permettent pas de modifier leurs valeurs par défaut, enregistrez en corrigeant leur code source. Pour des raisons similaires, vous n'aurez pas non plus de travail à faire Super / Hyper.

Et j'ai aussi trouvé une réponse proche ici:
Superutilisateur: Mappage de Super + hjkl aux touches fléchées sous X

Vim utilise un mode de commutation pour mapper les clés. Donc, xmodmap pour Vim, ce sont des globaux enfichables qui cassent l'expérience Vim classique. Même ainsi, prétendre que cela semble pathétique;)

Vim prend en charge plusieurs modes d'édition - normal, insertion, remplacement, visuel, sélection, ligne de commande et opérateur en attente. Vous pouvez mapper une clé pour qu'elle fonctionne dans tout ou partie de ces modes.

Mappage des clés dans Vim - Tutoriel (Partie 1)
Mappage des clés dans Vim - Tutoriel (Partie 2)
Mappage des clés dans Vim - Tutoriel (Partie 3)


Salut rapide, merci pour la réponse. Je n'ai peut-être pas été clair en posant ma question. Je n'essaie pas de faire des remappages de clés à l'intérieur de Vim. J'essaie en fait de mapper ctrl + hjkl sur les touches fléchées gauche, bas, haut, droite, respectivement, sur ma distribution GNU / Linux Ubuntu. Le message que j'ai lié affirme que cela est possible (indirectement), mais je ne suis pas en mesure d'y parvenir avec succès.
StrugglingProgrammer

désolé, j'ai compris que votre première édition n'était pas correcte. ok, mettra à jour la réponse)
rapide le

1
VimOS! Où puis-je l'obtenir?
jeremyjjbrown

1

J'ai Tux-J et Tux-K mappé à Up and Down dans KDE, il est pertinent pour toutes les applications. Il est en fait assez simple à configurer.

  1. Va ici: System Settings -> Custom Shorcuts -> Preset Actions
  2. Maintenant, faites un clic droit Preset Actionset choisissezNew -> Global Shortcut -> Send Keyboard Input
  3. Appeler le nouveau raccourci VIM-J
  4. Dans l'onglet Déclencheur, cliquez sur le bouton Raccourci et appuyez sur Tux- J.
  5. Dans l'onglet Action, entrez Down
  6. En bas de la fenêtre, cliquez sur Apply.
  7. Vérifiez que le raccourci fonctionne. Si c'est le cas, configurez les touches HK et L restantes.

Prendre plaisir!

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.