在重构文本的编辑过程中,我发现自己输入了类似的内容
:math:`x`
经常(这个:数学:角色会导致刻度内的任何内容被排版为例如乳胶输出中的数学).
我想映射一个像m这样的键来输入:math:“进入文本并将光标定位在刻度内.
我做到了这一点
map m i:math:``ha
这似乎工作正常.
但是,我希望能够在插入模式下使用此映射.为此,我认为使用ctrl m是最好的.我弄完了
imap <c-m> :math:``ha
虽然正确输入:math:“并在我执行ctrl m时将光标定位在刻度线内,但问题是在此之后,每次按下Enter键进入插入模式时,它都会运行相同的命令,就像我输入ctrl m一样.换句话说,现在进入插入模式似乎映射到
:math:``ha
同样.
看起来它肯定与使用ctrl键有关.如果我绑定例如F5键如下
imap <F5> :math:``ha
一切都好.
我可以使用例如F5键并为自己节省了麻烦,但我想知道将来发生了什么.
在我丢失的键映射中使用ctrl键有什么基本的东西吗?
谢谢,
解决方法
由于键盘输入在内部处理的方式,遗憾的是,如果没有这些副作用,即使在GVIM中也是如此.某些键组合(如Ctrl非字母)无法映射,而Ctrl字母与Ctrl Shift字母无法区分. (除非您的终端为其发送不同的termcap代码,但大多数情况下都没有.)这也适用于< Tab> /< C-I>,< CR> /< C-M> /< Esc> /< C - [> (只有例外是< BS> /< C-H> ;.)这是一个已知的痛点,也是关于vim_dev和#vim IRC频道的各种讨论的主题. 有些人(最重要的是Paul LeoNerd Evans)希望解决这个问题(即使是支持这种情况的终端中的控制台Vim),并提出了各种提案,cp. http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8
但截至今天,尚未有任何补丁或志愿者挺身而出,尽管许多人表示希望在未来的Vim 8主要版本中使用它.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。