【问题标题】:How to start using vim with a non-english keyboard如何使用非英文键盘开始使用 vim
【发布时间】:2014-05-09 20:57:54
【问题描述】:

我最近开始使用 git,默认情况下它会使用 vim。我一直想更深入地了解这个编辑器,但总是被退回,只有在由于某种原因(例如在 Linux 系统濒临死亡的情况下)不可避免的情况下才使用它。即使是现在,我很快就将 git 重新配置为使用 mcedit(我用于编程)。

问题是好的,我给了命令:help 看看我该如何开始。然后在帮助系统中,它建议我使用CTRL-] 跳转到我感兴趣的主题。我在这里迷路了。我有一个匈牙利语键盘,除了找到] 之外,根本找不到它的位置。所以我可以在我无法输入的主题列表中滚动。

这只是一个开始:总的来说,我可以排除多少这种“奇怪”的组合?我该如何解决这些问题?匈牙利语的另一个问题是它有一堆额外的元音,它们必须映射到相同数量的键上,比如英语,它有 26 个字母(有 9 个额外的字母,所以 9 个键“丢失”!)。这是否会妨碍使用 vim 编写匈牙利语文本(我需要这些键来生成特定语言的元音)?

如何解决这个问题,如果我碰巧有一个英文键盘(我猜 vim 最初是为这种布局设计的),我就不必重新学习按键的位置? (因为我周围没有英文键盘,所以我无法尝试会发生什么。因为我尝试了“P”左侧的两个键都不足以满足CTRL-] 组合,而就布局而言,我检查了第二个应该算了。当然我的系统是为匈牙利布局配置的)

语言确实无关紧要,我想每个使用非英语键盘的人都可能面临类似的问题。那么你是如何解决这些问题的呢?

【问题讨论】:

  • 建议,在您的系统上应用普通的美式键盘布局,如果您需要在 vim 中键入特殊字母,请使用 ctrl-k。在我购买外接键盘之前,我每天都使用德语键盘,但键盘布局始终设置为通用 101 或英语(美国)。当然,这需要您牢记美式布局,并且对所有组合键进行盲打。
  • 呃,我想这对我不起作用。我也参与了用匈牙利语维护的项目,我也喜欢用我的母语写作(我不是说我是作家,只是假装尝试)。我可以用 mcedit 来做这两个(更是如此,因为我可以在很久以前为 UTF-8 设置系统)。因此,如果我发现并喜欢 vim 的概念,我实际上是否可以替换 mcedit 支持 vim 的意图(不仅仅是因为 git 愿意这样做)。

标签: vim keyboard


【解决方案1】:

您可以使用 map 函数重新映射所有 vim 默认绑定。 欲了解更多信息,you can read this tutorial

【讨论】:

    【解决方案2】:

    查看/usr/share/vim/vim74/keymap/ 目录(在debian/ubuntu 中它是vim-runtime 包的一部分),您应该会看到一堆用于不同语言环境的键盘映射文件。选择你喜欢的那个。在示例中,我使用russian-jcukenwin.vim

    添加到你的 .vimrc 文件 →

    set keymap=russian-jcukenwin
    set iminsert=0
    set imsearch=0
    highlight lCursor guifg=NONE guibg=Cyan
    

    现在您可以使用 Ctrl-^ 键切换布局。注意:在 插入模式 下布局是可切换的。

    您可以猜到第一行是我提到的文件的名称。接下来的两行设置了 iminsertimsearch 以便开始第一次使用拉丁布局。实际上 Ctrl-^ 将它们在 1 和 0 之间切换。当布局更改时,最后一行用青色绘制插入符号。

    【讨论】:

    • 对于 Windows 上的我来说,Ctrl-^ 在搜索行中绘制 ^^ 而不是切换布局。通过将 imsearch 设置为 1 进行了修复。不知道如何工作。
    【解决方案3】:

    简单的解决方案

    使用vim时可以切换到英文布局:

    setxkbmap us

    然后切换回匈牙利语键盘 (hu)。

    xkb

    以另一种方式向您展示:

    hu 键盘的 xkeyboard 布局位于/usr/share/X11/xkb/symbols/hu。尝试将布局与/usr/share/X11/xkb/symbols/us 进行比较。

    hu 键盘也有布局变体,而不仅仅是default。 见my post here

    如果你想做一些高级的事情,你也可以将英文键盘应用到 CAPS LOCK 修饰符LEVEL

    【讨论】:

      猜你喜欢
      • 2012-02-01
      • 2011-03-03
      • 1970-01-01
      • 1970-01-01
      • 2020-04-10
      • 1970-01-01
      • 1970-01-01
      • 2021-11-26
      • 1970-01-01
      相关资源
      最近更新 更多