Pas exactement ce que vous demandez, mais presque ...
Vous pouvez remapper les paramètres du clavier X à l'aide de la xmodmap
commande. Vous pouvez voir les paramètres actuels en exécutantxmodmap -pke
Chaque code de touche (qui est une valeur associée à chaque touche de votre clavier) peut être associé à 8 clés (qui est essentiellement la sortie). Ils sont les suivants:
- Lorsqu'il est pressé seul
- Lorsque pressé avec shift
- Lorsqu'il est pressé avec le commutateur de mode activé (semble être obsolète)
- Lorsqu'il est enfoncé avec le commutateur de mode et le décalage (semble être obsolète)
- Lorsqu'il est pressé avec Alt-Gr (alias ISO_Level3_Shift en termes xmodmap)
- Lorsqu'il est pressé avec Alt-Gr et shift
Donc, actuellement, ma touche "h" ressemble à ceci:
h H h H hstroke Hstroke
où la combinaison de touches Hstroke produit Ħ.
À moins que vous n'utilisiez Alt-Gr pour saisir des caractères non ascii, vous pouvez remapper h, j, k et l avec Alt-Gr pour faire ce que vous voulez. Ce serait:
xmodmap -e 'keycode 43 = h H h H Left Hstroke'
xmodmap -e 'keycode 44 = j J j J Up J'
xmodmap -e 'keycode 45 = k K k K Down ampersand'
xmodmap -e 'keycode 46 = l L l L Right Lstroke'
L'Alt-Gr avec des entrées de décalage n'est pas strictement nécessaire bien sûr, je préserve simplement les valeurs qui existent déjà. Vous pouvez trouver les valeurs du code clé en exécutant la xev
commande à partir d'un terminal. xev
affiche X événements, vous pouvez donc appuyer sur une touche et trouver des informations à ce sujet.
Pour rendre ce paramètre permanent, vous pouvez ajouter ce qui suit à .Xmodmap dans votre répertoire personnel
keycode 43 = h H h H Left Hstroke
keycode 44 = j J j J Up J
keycode 45 = k K k K Down ampersand
keycode 46 = l L l L Right Lstroke
Appuyer sur Alt-Gr n'est certainement pas aussi agréable que d'appuyer sur Alt lors de l'utilisation de hjkl, mais vous, je pense que vous pourriez avoir du mal à faire fonctionner simplement Alt parce qu'il est utilisé pour l'accès au menu. Vous pourrez peut-être utiliser les informations de cette réponse ainsi que les outils mentionnés par Fraekkert pour lier par exemple Alt-Shift-h à la place, ce qui pourrait vous convenir mieux.
Il convient également de noter que vous pouvez définir le mode vi dans bash (ou quel que soit le shell que vous utilisez) à l'aide de set -o vi
. Cela vous donne un comportement similaire à celui de vi lors de la modification des lignes de commande et de l'historique. Je ne pense pas que cela regarde votre .vimrc, alors ne vous attendez pas à ce que vos remappages clés fonctionnent.