Vim:退出插入模式。当我在插入模式下映射alt键组合时,相关的字符将被映射,而不是alt-key-combination

时间:2014-10-14 16:56:32

标签: vim utf-8 insert alt

背景:我使用alt-h j k l等来摆脱插入模式。 解释了做这种事情的原因 here

在我的XTerm中,这默认是有效的,但在gvim中却没有。

我想你可以看到这个问题的危及生命的重力给我,因为找到一个很好的解决方案来摆脱插入模式对于流动是绝对必要的 - 我以为我找到了它对我来说...(编辑我的表格以回应阿曼丹......)。

是否有一种gedit在“alt sent escape”中表现得很好?

可能还有其他解决方案,但它们看起来很难看:

我现在的策略是我尝试了映射(w,e,d,c,r,A和其他),以便例如插入模式下的alt-dw会让我进入正常模式并删除光标后的单词通过简单的映射,例如:

inoremap <m-d> <Esc>ld
inoremap <m-x> <Esc>lx
inoremap <m-X> <Esc>lX
inoremap <m-u> <Esc>u
inoremap <m-p> <Esc>p

(命令前的l校正光标的位置)

这非常有效,但是这些映射不会映射alt-key-combinations,而是映射关联的字符(以utf-8编码)。

在上面的例子中:

ä,ø,Ø,õ,ð

问题是,当我点击ä为例时(我是德语,所以它在我的键盘上是正确的,我需要它),vim将退出插入模式并开始“删除”操作。这意味着我放弃了进入ä(或é,ê,ö等)的所有可能性,这对我来说至关重要。

有没有办法映射alt-key-combinations而不是相关的caracter? (这个问题是次要的。它只是有趣的,因为它服务于主要的一个:使用alt-stuff来摆脱插入模式)

我尝试或检查的其他内容:

- 我做了

set termencoding=ascii

但它没有任何效果(在gvim-gui中 - 当我在终端中运行时,它有效果,但它并不存在,我需要它。)

- 我的编码选项在我的映射之前设置,因此它不是解析问题。

- 我试过

unmap <M-J>
inoremap <M-J> <Nop>

没效果。

0 个答案:

没有答案