Most terminal emulators treat control plus shift simply as control by default. Instead, you usually map those key combinations to an escape sequence and listen to that inside the terminal application.
Step 1: Configure your terminal emulator to bind Ctrl+Shift+A to the sequence Esc,A.
Your terminal emulator is the program that shows the actual window of the terminal. When accessing a server via SSH, the terminal emulator is a program on your local machine. Binding keys works differently in different terminal emulators. For example:
- For urxvt, add
URxvt.keysym.Control-Shift-A: \033A
to the ~/.Xresources
configuration file and reload it with xrdb ~/.Xresources
.
- For iTerm2, open Preferences -> Keys, add an entry, and bind Ctrl+Shift+A to the action "Send Escape Sequence" and type
A
into the field below.
Step 2: Bind Esc,A to a command in Vim.
Add the key mapping to your ~/.vimrc
configuration and reload it with :source ~/.vimrc
:
nnoremap <esc>a your command here
modifyOtherKeys
feature it's possible by default, see key bindings - How to map <C-i> separate from <Tab>? - Vi and Vim Stack Exchange -- and nowadays gVim supports this by default as well. – Welton