因此,我正在为Vim认真尝试编写我的Python应用程序。
然而,Vim如此灵活,我一直在考虑将其用作工作的主要编辑器(律师/法律文件)。问题是我的母语不是英语,而是希腊语。因此,我已映射Alt + Shift在英语和希腊语键盘布局之间进行切换。我遇到的问题是,每次我想输入Vim命令(返回英文)时,都必须按Alt + Shift。因此,当我输入文档时,它的Alt + Shift,然后再次输入Alt + Shift输入Vim命令。这违反了使用Vim的目的,即使用速度。
所以我的问题很简单,有什么方法可以避免Alt + Shift一起使用希腊语的Vim命令吗?
此问题可以在keymap
选项的帮助下解决。它允许定义在模式下使用的备用键盘映射需要输入文字。
要在插入时在默认键盘图和备用键盘图之间切换,替换或命令行模式,使用Ctrl + ^(Ctrl + 6)。更改键盘映射会影响文本输入只要;普通模式下的键盘行为保持不变,无论当前的键盘映射设置。一个人可以用希腊语写出插入模式并立即使用普通模式的键盘绑定,而无需切换到不同的键盘布局。如果返回到插入模式,或例如,通过键入/
开始搜索,Vim切换键盘映射自动返回希腊语。
记住那些在文本输入模式下使用的当前键盘映射切换到其他模式之间。唯一的例外行为是针对命令行模式进行的,该模式始终以默认的键盘映射,因为大多数时候都需要键入一个Ex命令(以ASCII格式)。设置keymap
选项后,应假定用户在Vim中工作,同时将系统键盘布局设置为英语用Ctrl + ^(而不是系统范围的布局开关)。
要永久启用UTF-8希腊语键盘映射,请将以下行添加到您的.vimrc
文件。
:set keymap=greek_utf-8
[对于许多语言,有许多预定义的键盘映射,您可以使用:e $VIMRUNTIME/keymap
在Vim本身中浏览它们。注意通常为一种语言提供几种键盘映射,仅在字符编码方面有所不同,因此任何人都可以选择一个适合他们的配置。
我还建议设置以下选项以指定键盘映射在插入模式下和进入搜索时应默认启用模式:
:set iminsert=0
:set imsearch=-1
请参见:help iminsert
和:help imsearch
的详细说明。
还有一种特殊的语言模式,如果我没记错的话,是在keymap
之前在Vim中引入的。它允许实现类似于keymap
通过手动提供的行为指定与键盘中的键相对应的字母对要保存在langmap
选项中的长字符串。就我个人而言母语也不是英语-我更喜欢(并推荐)使用keymap
方式。
最后,我要强调的是,以上所有内容都是一样的适用于Vim具有的任何其他语言(或可以配置为有)的键盘映射。
另请参阅my answer至已被要求的similar question因为我最初给出了这个答案;它包括一个解释更加详细。