Não é exatamente o que você está pedindo, mas quase ...
Você pode remapear as configurações do teclado X usando o comando xmodmap
. Você pode ver as configurações atuais executando xmodmap -pke
Cada código de acesso (que é um valor associado a cada tecla do teclado) pode ter até 8 teclados (que são essencialmente a saída) anexados a ele. Eles são os seguintes:
- Quando pressionado sozinho
- Quando pressionado com deslocamento
- Quando pressionada com a opção Modo ativada (parece estar obsoleta)
- Quando pressionado com o botão Mode e shift (parece estar obsoleto)
- Quando pressionado com Alt-Gr (também conhecido como ISO_Level3_Shift em termos do xmodmap)
- Quando pressionado com Alt-Gr e Shift
Atualmente, minha chave "h" parece:
h H h H roke
onde o keysym Hstroke produz Ħ.
A menos que você esteja usando Alt-Gr para inserir caracteres não ascii, você pode remapear h, j, k e l com Alt-Gr para fazer o que quiser. Isso 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 de código de tecla executando o comando xev
de um terminal. xev
exibe eventos X, então você pode pressionar uma tecla e descobrir informações sobre isso.
Para tornar esta configuração permanente, você pode adicionar o seguinte a .Xmodmap em seu diretório pessoal
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 o Alt-Gr certamente não é tão bom quanto pressionar Alt ao usar o hjkl, mas acho que você pode ter dificuldades em usar o Alt apenas porque ele é usado para acessar o menu. Você pode ser capaz de usar as informações nesta resposta, juntamente com as ferramentas mencionadas por Fraekkert para vincular, e. Alt-Shift-h, que pode ser mais adequado 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 lhe dá um comportamento semelhante ao vi ao editar linhas de comando e histórico. Eu não acredito que isso pareça seu .vimrc, então não espere que seus principais remapeamentos funcionem.