加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在vim中,enter被映射到ctrl键自定义键映射

发布时间:2020-12-15 22:01:15 所属栏目:安全 来源:网络整理
导读:我在使用ctrl键的 vim中的键盘映射遇到了一些奇怪的行为.我猜这有一个简单的原因和解决方案,但我只是看不到它. 在重构文本的编辑过程中,我发现自己输入了类似的内容 :math:`x` 经常(这个:数学:角色会导致刻度内的任何内容被排版为例如乳胶输出中的数学).
我在使用ctrl键的 vim中的键盘映射遇到了一些奇怪的行为.我猜这有一个简单的原因和解决方案,但我只是看不到它.

在重构文本的编辑过程中,我发现自己输入了类似的内容

: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键有什么基本的东西吗?

谢谢,

解决方法

您必须为映射使用不同的控件组合,例如c为C-g取代.

由于键盘输入在内部处理的方式,遗憾的是,如果没有这些副作用,即使在GVIM中也是如此.某些键组合(如Ctrl非字母)无法映射,而Ctrl字母与Ctrl Shift字母无法区分. (除非您的终端为其发送不同的termcap代码,但大多数情况下都没有.)这也适用于< Tab> /< C-I>,< CR> /< C-M> /< Esc> /< C - [> (只有例外是< BS> /< C-H&gt ;.)这是一个已知的痛点,也是关于vim_dev和#vim IRC频道的各种讨论的主题. 有些人(最重要的是Paul LeoNerd Evans)希望解决这个问题(即使是支持这种情况的终端中的控制台Vim),并提出了各种提案,cp. http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8

但截至今天,尚未有任何补丁或志愿者挺身而出,尽管许多人表示希望在未来的Vim 8主要版本中使用它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读