使用“绑定”Bash键绑定 - 避免像Vim中的noremap一样递归

时间:2013-08-05 17:40:57

标签: bash recursion vim keymapping

我在Bash中重新映射了以下键:

bind '"a" "b"'
bind '"b" "c"'

如果我两次按 a b ,将会打印c

如何映射键以便按 a b 将被打印,并且只能按 a c 将被打印(与Vims **nore**-map一样)?

2 个答案:

答案 0 :(得分:0)

您可能会发现构建自己的键映射文件很有用,该文件将您从键盘获得的数字信号映射到一个字符。这是通过loadkeys命令完成的,即如果你要切换到你可以做的dvorak布局(这是一个详细的方式来显示地图文件的位置:

loadkeys /usr/share/keymaps/i386/dvorak/dvorak.map.gz

您可以复制所用布局的地图文件并更改相关字符,然后加载修改后的映射。我认为loadkeys只会影响命令行,尽管有类似的方法可以改变X中的行为。我相信。

答案 1 :(得分:0)

你可以在右边的部分创建一个带有前缀为“^ V”的文字:

  

bind'“x”:“^ Vx”'

冒号后输入文本的键序列是:

  

“Ctrl-v Ctrl-v x space”

在bash中,“Ctrl-v x”会产生一个文字x,没有键映射解释。