Mapear setas do teclado para atalhos

6

Eu digito com todos os dez dedos, então estou usando Alt + H ( J , K , L ) atalhos no Vim no modo de inserção para mover o cursor e é muito legal :) Eu gostaria de remapear as teclas de seta em X (Gnome) para usar esses atalhos em todos os X aplicações

Então, se eu pressionar Alt + K , ele deve funcionar como seta para cima.

Para auto-tortura :) você pode incluir estas linhas em seu .gvimrc

inoremap <Left>  <NOP>
inoremap <Right> <NOP>
inoremap <Up>    <NOP>
inoremap <Down>  <NOP>
inoremap <A-h> <Left>
inoremap <A-j> <Down>
inoremap <A-k> <Up>
inoremap <A-l> <Right>
    
por ivan73 14.11.2010 / 00:41

2 respostas

1

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:

  1. Quando pressionado sozinho
  2. Quando pressionado com deslocamento
  3. Quando pressionada com a opção Modo ativada (parece estar obsoleta)
  4. Quando pressionado com o botão Mode e shift (parece estar obsoleto)
  5. Quando pressionado com Alt-Gr (também conhecido como ISO_Level3_Shift em termos do xmodmap)
  6. 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.

    
por Roger Light 18.11.2010 / 10:29
0

Eu usaria uma combinação do painel de preferências Teclado Atalhos e xvkbd.

O xvkbd permite que você envie eventos de teclado através da linha de comando, e os Atalhos de Teclado permitem ligar linhas de comando a eventos chave.

    
por LasseValentini 15.11.2010 / 06:29