【发布时间】:2012-06-14 13:33:08
【问题描述】:
有时我使用 vim 编写非美国文本,当我想在普通模式下使用任何命令时,我需要将布局更改为美国。可以自动执行吗?
PS。我可以像 this 那样进行映射,但在这种情况下,命令看起来像 :ц 而不是 :w - 不漂亮而且有错字风险。
更新
我不想使用键盘映射选项,因为我更喜欢通过 CapsLock 切换语言。 我尝试为 InsertLeave 事件编写 autocmd,但失败了...
更新 2
可能有人知道,为什么以下不起作用?
function SetUsLayout()
!setxkbmap us,ru
endfunction
autocmd InsertLeave * call SetUsLayout()
【问题讨论】:
-
这里的答案是相关的:stackoverflow.com/a/3777557/329063
-
请参阅my answer 到类似问题“Vim “annoyance” with keyboard layouts”,而不是上一条评论中链接的问题,因为它有效地涵盖了相同的问题并且更彻底。
-
我已经在 Update 中写了,不想使用 keymap 选项,因为在 vim 中无法映射 CapsLock。
标签: vim keyboard-layout