这是来自vim提示的附件:
# /usr/share/themes/Vi/gtk-2.0-key/gtkrc
# A key-binding set for vi-like key-bindings
binding "gtk-vi-text-view"
{
bind "<ctrl>d" { "move-cursor" (display-lines, 5, 0) }
bind "<ctrl>f" { "move-cursor" (display-lines, 5, 0) }
bind "<ctrl>u" { "move-cursor" (display-lines, -5, 0) }
bind "<ctrl>b" { "move-cursor" (display-lines, -5, 0) }
bind "<ctrl>e" { "move-cursor" (display-lines, -1, 0) }
bind "<ctrl>y" { "move-cursor" (display-lines, 1, 0) }
bind "j" { "move-cursor" (display-lines, 1, 0) }
bind "k" { "move-cursor" (display-lines, -1, 0) }
bind "l" { "move-cursor" (logical-positions, 1, 0) }
bind "h" { "move-cursor" (logical-positions, -1, 0) }
}
binding "gtk-vi-tree-view"
{
bind "j" { "move-cursor" (display-lines, 1) }
bind "k" { "move-cursor" (display-lines, -1) }
bind "l" { "move-cursor" (logical-positions, 1) }
bind "h" { "move-cursor" (logical-positions, -1) }
}
class "GtkTextView" binding "gtk-vi-text-view"
class "GtkTreeView" binding "gtk-vi-tree-view"
# The last part is to note your local gtk configuration file. Check in your home directory file named '.gtkrc-2.0'. and "touch" it. The only thing left to be done is appending:
gtk-key-theme="Vi"
这一切都很好,但问题是,在这种配置下,不再可能输入字母 h,j,k和l。怎么解决这个问题?
答案 0 :(得分:3)
你错过了房间里的大象:Vi(m)是模态编辑器,而GtkTextView
小部件显然不是。
您正在玩的非模态编辑器或文本域小部件有自己的方式来处理键盘的字母数字键:修饰键。
无论
hjkl
而不将其插入文字中或
hjkl
加上修改键。这些基本上是你唯一的选择。
当用户处于阻止他/她插入他/她键入内容的模式时,仅使用hjkl
进行光标移动 是有意义的。它可以在GtkTreeView
或其他不希望用户输入文本的上下文中“起作用”。
所以......我不确定你是否真的考虑过你的问题。