简体   繁体   中英

alt-key binds in Vim: <A-D> won't work but <A-S-D> does

I am binding yankstack to these keys:

(note the ^[ here are the raw char typed in with ctrl+v)

set <A-D>=^[d                                      
set <A-S-D>=^[D                                    
nmap <A-D> <Plug>yankstack_substitute_older_paste  
nmap <A-S-D> <Plug>yankstack_substitute_newer_paste

The <ASD> is properly interpreted, but the <AD> is not.

Curiously, if I type :set <AD> , I get back

     <Ä>        ^[D                    

So somehow it seems vim is thinking alt+d is equivalent to something that is not being sent by my terminal when I type Alt+D.

I had to grab another of the high-F keys (the set of which i am going to run out of eventually) to get it working:

set <F26>=^[d                                      
set <A-S-D>=^[D                                    
nmap <F26> <Plug>yankstack_substitute_older_paste  
nmap <A-S-D> <Plug>yankstack_substitute_newer_paste

Anyone know what this is all about?

Note the capital D in <AD> ; Vim treats that and <ASD> the same. Try using a small d :

set <A-d>=^[d                                      
nmap <A-d> <Plug>yankstack_substitute_older_paste  

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM