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ê ~/.vimrcpode criar um mapeamento para <S-F1>afazer 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, ( gvimeu acho) o uso dessas chaves é recomendado.
- Eu principalmente
vimem gnome-terminal. Então usei window class = gnome-terminal-server.Gnome-terminalcomo filtro. Modifique-o para usar gvimse quiser. autokeysuporta um botão para capturar as propriedades de qualquer outra janela, como classe / título.