[英]gVim makes alt+(letter) key produce an accented character instead of exiting insert mode and executing the command
[英]vimrc: imap Alt + an accented character
我有一些按键(如<M-[>
) imap
'来执行我的.vimrc
一些动作,例如
imap <M-[> <C-o>:silent !audtool --playback-seek-relative -3<CR>
在打字时大胆寻求(用于转录录制的语音)。 我想为捷克键盘布局做同样的事情,恰好在那个位置有ú
(u-acute)。 所以我试了很明显
imap <M-ú> <C-o>:silent !audtool --playback-seek-relative -3<CR>
这不起作用。 这里有什么解决方案? 尝试:help key-notation
和谷歌没有成功。 只在gvim(而不是终端)工作的解决方案很好。
Vim有一种处理输入的古老方法 - 它表示为字节(字符)队列,而不是键击序列队列。 我想,字符<M-ú>
(是的,它应该是一个字符)就不存在了,就像<C-1>
那样。 你可以通过在输入模式下按<Cv><M-ú>
来确保它 - 一个普通的ú
或什么都不会输入。 所以没有办法将<M-ú>
映射到某个东西。
但! 因此,Vim不能很好地处理不同的外部布局而不是基本的QWERTY设计,它提供了一个自己的(内部)机制来支持第二种布局。
如果你这样做:set keymap=czech
,你可以在Vim中用<C-6>
切换输入语言,忘记映射乱码 - 映射<M-[>
(以及z
, 2
等)会表示两种布局中的一个关键和弦。
顺便说一下,这实际上是将Vim充分用于一种语言的唯一方法,该语言的布局与QWERTY(例如Cyrillic)完全不同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.