Як уже зазначалося, немає способів скласти карту, яка <C-S-A>відрізняється від<C-A> .
Однак, використовуючи такі інструменти, як autokey(для Linux та Windows) або autohotkey(для Windows), ви можете перепризначити<C-S-A> щоб надіслати різні мазки клавіш для конкретних програм.
Наприклад, у моїй системі це налаштування 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.
Призначте йому такі властивості:
- комбінація клавіш як
ctrl+shift+a
- клас вікна:
gnome-terminal-server.Gnome-terminal
Тоді ви ~/.vimrcможете створити відображення, <S-F1>aщоб робити все, що завгодно.
Примітки:
- Я використовував
<S-F1>як свого роду лідерний ключ для виявлення <C-S>. Це тому , що мій термінал не прийняв <F13>- і <F37>т.д. ключів. Якщо ваш додаток це підтримує, ( gvimяк мені здається) рекомендується використовувати ці клавіші.
- Я в основному
vimв gnome-terminal. Тому я використовував window class = gnome-terminal-server.Gnome-terminalяк фільтр. Змініть його, щоб використовувати, gvimякщо хочете. autokeyпідтримує кнопку для фіксації будь-яких інших властивостей вікна, таких як клас / заголовок.