Não é exatamente o que você está pedindo, mas quase ...
Você pode remapear as configurações do teclado X usando o xmodmap
comando Você pode ver as configurações atuais executandoxmodmap -pke
Cada código de chave (que é um valor associado a todas as teclas do teclado) pode ter até 8 academias de teclas (que é essencialmente a saída) anexadas a ele. Eles são os seguintes:
- Quando pressionado por conta própria
- Quando pressionado com turno
- Quando pressionado com o interruptor de modo ativado (parece estar obsoleto)
- Quando pressionado com o botão Mode e shift (parece obsoleto)
- Quando pressionado com Alt-Gr (também conhecido como ISO_Level3_Shift em termos xmodmap)
- Quando pressionado com Alt-Gr e shift
Atualmente, minha chave "h" se parece com:
h H h H h
onde o teclado Hstroke produz Ħ.
A menos que você esteja usando Alt-Gr para inserir caracteres não-ascii, poderá remapear h, j, ke com Alt-Gr para fazer o que quiser. Este seria:
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'
O Alt-Gr com entradas de turno não é estritamente necessário, é claro, estou apenas preservando os valores que já existem. Você pode encontrar os valores do código-chave executando o xev
comando em um terminal. xev
exibe X eventos, para que você possa pressionar uma tecla e descobrir informações sobre ele.
Para tornar essa configuração permanente, você pode adicionar o seguinte a .Xmodmap no diretório inicial
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
Pressionar Alt-Gr certamente não é tão bom quanto pressionar Alt ao usar o hjkl, mas acho que você pode ter dificuldade em fazer com que apenas Alt funcione, porque é usado para acessar o menu. Você pode usar as informações nesta resposta junto com as ferramentas mencionadas por Fraekkert para vincular, por exemplo, Alt-Shift-h, o que pode ser melhor para você.
Também é possível notar que você pode definir o modo vi no bash (ou qualquer shell que você use) usando set -o vi
. Isso fornece um comportamento semelhante ao vi ao editar linhas de comando e histórico. Porém, não acredito que isso analise seu .vimrc, portanto, não espere que seus remapeamentos principais funcionem.