Comme déjà souligné, il n'y a aucun moyen de cartographier <C-S-A>différemment de <C-A>.
Cependant, en utilisant des outils comme autokey(pour Linux et Windows) ou autohotkey(pour Windows), vous pouvez remapper <C-S-A>pour envoyer un ou plusieurs touches différentes pour des applications spécifiques.
Par exemple, sur mon système, j'ai ce paramètre dans 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.
Attribuez-lui ces propriétés:
- raccourci clavier comme
ctrl+shift+a
- classe de fenêtre:
gnome-terminal-server.Gnome-terminal
Ensuite, vous ~/.vimrcpouvez créer un mappage pour <S-F1>afaire ce que vous voulez.
Remarques:
- J'ai utilisé
<S-F1>comme une sorte de clé leader pour la détection <C-S>. C'était parce que mon terminal n'acceptait pas les clés <F13>- <F37>etc. Si votre application le prend en charge, ( gvimje pense que) l'utilisation de ces clés est recommandée.
- J'ai principalement
vimdans gnome-terminal. J'ai donc utilisé window class = gnome-terminal-server.Gnome-terminalcomme filtre. Modifiez-le pour l'utiliser gvimsi vous le souhaitez. autokeyprend en charge un bouton pour capturer les propriétés de toute autre fenêtre comme la classe / le titre.