我使用 dvorak 键盘,我想减少使用<c-i>
and <c-o>
(向后或向前跳跃)时伸手去拿控制键的压力。我认为',' 和'p' 键在与goto 菜单结合使用时是完美的(例如,首先按'g' 时)。(对于你们这些 qwerty 人来说,这意味着键盘上的键位 'w'、'e' 和 'r',当从 goto 菜单点击时会跳回,跳到最后一个编辑,然后向前跳)。于是……</p>
这是我想要的:
1) :map global goto , '<c-o>' -docstring 'jump back' // Does not work
2) :map global goto p '<c-i>' -docstring 'jump forward' // Does not work
但是,由于莫名其妙的原因,这些命令都不起作用。我尝试了一堆实验,发现了一些更奇怪的东西:
尝试使用用户模式而不是 goto 模式(如此处所述:https ://github.com/mawww/kakoune/wiki/Implementing-user-mode )。
3) :map global user , '<c-o>' -docstring 'jump back' // Works
4) :map global user p '<c-i>' -docstring 'jump forward' // Does not work
尝试对 map 命令中的命令字符串进行各种更改(返回 goto 模式)
5) :map global goto p 'd' -docstring 'delete the selection' // Does not work
6) :map global goto p '/d' -docstring 'delete the selection' // Works! (Why??)
7) :map global goto p '\d' -docstring 'delete the selection' // Works! (Why?!?)
8) :map global goto p '\<c-o>' -docstring 'jump back' // Works! (Why?!!?!!?)
9) :map global goto p '\<c-i>' -docstring 'jump forward' // Does not work (Why!???)
综上所述:
a) 为什么#3 有效,而#4 无效?
b) 为什么在命令字符串(例如在#6、#7、#8 中)前面添加斜杠(任一类型)会使映射到 goto 模式的各种命令起作用?
c) 我怎样才能让我的#1 和#2 的意图起作用?(技术上 #8 解决了我对 #1 的意图,但我仍然无法回答如何做 #2)