Como já apontado, não há maneiras de mapear de forma <C-S-A>
diferente de <C-A>
.
No entanto, usando ferramentas como autokey
(para linux e windows) ou autohotkey
(para windows), você pode remapear <C-S-A>
para enviar um toque de tecla diferente para aplicativos específicos.
Por exemplo, no meu sistema, tenho esta configuração em autokey
:
$ cat ~/.config/autokey/data/gnome-terminal/ctrlshifta-gnome-terminal.py
#ctrl+shift+a sends '<S-F1>a'
keyboard.send_keys("<shift>+<f1>a") # Note that `f` in `f1` needs to be in lower case.
Atribua a ele estas propriedades:
- atalho de teclado como
ctrl+shift+a
- classe de janela:
gnome-terminal-server.Gnome-terminal
Em seguida, você ~/.vimrc
pode criar um mapeamento para <S-F1>a
fazer o que quiser.
Notas:
- Eu usei
<S-F1>
como uma espécie de chave de líder para detecção <C-S>
. Isso acontecia porque meu terminal não aceitava chaves <F13>
- <F37>
etc. Se seu aplicativo for compatível, ( gvim
eu acho) o uso dessas chaves é recomendado.
- Eu principalmente
vim
em gnome-terminal
. Então usei window class = gnome-terminal-server.Gnome-terminal
como filtro. Modifique-o para usar gvim
se quiser. autokey
suporta um botão para capturar as propriedades de qualquer outra janela, como classe / título.