Vim 与外国 QWERTZ 键盘

Vim 与外国 QWERTZ 键盘

Vim 针对标准美国键盘进行了优化:

在此输入图像描述

如果我们想将其与以下 QWERTZ 键盘(在奥地利和德国常见)一起使用:

在此输入图像描述

我们应该做什么?(当然,除了使用美国键盘映射)

特别有问题的是:;/?键和反引号,它们在上面的 QWERTZ 键盘上经常使用,很难触及并且非常违反直觉。例如,按 后fx搜索下一个'x';涉及按转移钥匙。

也许以下修改~/.vimrc是个好主意?

nnoremap ü  ` 
nnoremap ä  / 
nnoremap Ä  ?  
nnoremap ö  ; 
nnoremap Ö  :
nnoremap :  <Nop>

(以及相同的行,vnoremap而不是nnoremap

当然,还必须禁用死键(例如,我们可以使用ctrl+^来切换缓冲区)。将大写锁定与转义交换也很有帮助。所以我们将其插入到文件中/usr/share/X11/xkb/symbols/de

partial alphanumeric_keys
xkb_symbols "switch_esc_caps" {
    include "de(nodeadkeys)"
    name[Group1] = "Germany B";
    key <CAPS> { [ Escape ] } ;
};

~/.Xsession.d并将脚本放入目录中:

#!/bin/bash

setxkbmap -layout de -variant switch_esc_caps

这样一切都好吗?至少它看起来有效......有没有更干净的方法?

现在仍然存在问题:

  1. 反引号也是最后一个位置的标记,有没有办法重新定义这个?因此,这ü将成为最后一个位置的标记,我们可以通过按ü, ü?返回到最后一个位置。

  2. 尽管按下ä可打开搜索,但在替换命令中我们仍然必须使用/.

    也许这不是一个好主意,但在 sed 中,人们可以选择与 不同的分隔符/,例如:

    'abc' | sed -e 's-abc-def-g'

    vim 中可能有类似的东西吗?

相关内容