Infelizmente, isso não será possível usando a tecla Alt +. Você vê que digitar Alt + key em uma janela de comando é realmente o mesmo que pressionar Escape seguido da tecla.
No entanto, eu tenho um tipo de solução para você, mas isso requer um pouco de trabalho e pressupõe que você esteja executando o X. Sua tela / vim em um emulador de terminal ainda funcionará com isso.
Eu uso um teclado em espanhol e os símbolos []{}
estão nas teclas para à direita do meu dedo mindinho na mão direita, mas é necessário pressionar a tecla AltGr também. Isso significa apertar um pouco demais a minha mão direita. Eu mudei isso usando xmodmap .
Se você adicionar um arquivo chamado .Xmodmap ao seu diretório pessoal , ele será originado toda vez que você fizer login no X Alternativamente, você pode executá-lo a qualquer momento usando xmmodmap ~/.Xmodmap
.
Veja um exemplo de como configurar isso. O símbolo da chave direita }
está em uma tecla com ç
no meu teclado, mas eu tenho que pressionar AltGr junto com a chave para obter a chave direita. Para ver qual código é mapeado para isso, eu uso xmodmap -pk
:
$ xmodmap -pk | grep brace
51 0x00e7 (ccedilla) 0x00c7 (Ccedilla) 0x00e7 (ccedilla) \
0x00c7 (Ccedilla) 0x007d (braceright) 0xfe55 (dead_breve)
# split to prevent scroll, this is all on one line
Isso significa que o código de tecla 51 é mapeado para essas chaves com os vários modificadores. Aqui está o que man xmodmap
tem a dizer:
keycode NUMBER = KEYSYMNAME ...
The list of keysyms is assigned to the indicated keycode (which may be
specified in decimal, hex or octal and can be determined by running the xev
program). Up to eight keysyms may be attached to a key, however the last
four are not used in any major X server implementation. The first keysym is
used when no modifier key is pressed in conjunction with this key, the
second with Shift, the third when the Mode_switch key is used with this
key and the fourth when both the Mode_switch and Shift keys are used.
Então, aqui temos:
- sem modificador = ccedilla ç
- shift = Ccedilla Ç
- Mode_switch = ccedilla
- Mode_switch e shift = Ccedilla
- AltGr = braceright}
Experimentando, parece que a quinta entrada é quando o AltGr e a tecla são pressionados. Tanto para documentação, hein? Eu não tenho idéia do que é a tecla Mode_switch, certamente não é Alt, Shift ou Ctrl.
Eu queria alterar essa mais inútil das chaves para ter }
por padrão. A entrada no meu .Xmodmap é a seguinte:
keycode 51 = braceright Ccedilla ccedilla Ccedilla braceright dead_breve
Eu nunca escrevo ccedillas (exceto neste post, e aqui escrevi digitando um Ç então em uso guw
em Vim para torná-lo em minúsculas!) então eu não sinto falta deles. Outras chaves, como a chave com ]
, eram mais complicadas. Essa chave tem *+]
escrito nela. Mudei o sinal de adição para outra tecla (removendo a marca de exclamação invertida duplicada ¡
), por padrão, e *
com deslocamento. O comportamento AltGr que deixei intocado.
Eu tenho entradas semelhantes para outros códigos de tecla correspondentes às chaves dos outros codificadores. Às vezes, acho que devo reaprender um layout dos EUA ou do Reino Unido apenas por hackers. Eu sentiria falta das teclas extravagantes nos e-mails.