我可以为 j(按住)+l 创建一个映射,这与快速键入 j 然后 l 是分开的吗?
这与vim 映射普通键(如 shift )有些重复,但我在 Windows 上,所以没有 xmodmap。
我可以为 j(按住)+l 创建一个映射,这与快速键入 j 然后 l 是分开的吗?
这与vim 映射普通键(如 shift )有些重复,但我在 Windows 上,所以没有 xmodmap。
不,你不能在 Vim 中通过简单的映射来做到这一点。您可以按j
然后l
,但不能同时按两者。
我已经能够用 AutoHotkey 做我想做的事。我从键盘上去掉了空格键,现在我可以用拇指访问很多修饰符(而不仅仅是空格和 AltGr)。这是我的 ahk 脚本。它将所有字母向上移动一排并将 v 映射到空格,b 映射到退格,n 映射到输入。请注意,我才刚刚开始研究这个,它是为瑞士德国布局而设计的。
#If WinActive("ahk_class Notepad")
v::space
variable := ""
n:: variable .= ""
#If GetKeyState("n", "P") == 0 && WinActive("ahk_class Notepad")
b::Backspace
1::q
2::w
3::e
4::r
5::t
6::z
7::u
8::i
9::o
0::p
q::a
w::s
e::d
r::f
t::g
z::h
u::j
i::k
o::l
p::SC027
a::y
s::x
d::c
f::v
g::b
h::n
j::m
k::,
l::.
SC027::-
return
#If
#If GetKeyState("n", "P") == 1 && WinActive("ahk_class Notepad")
b::Enter
k::;
1::+q
2::+w
3::+e
4::+r
5::+t
6::+z
7::+u
8::+i
9::+o
0::+p
q::+a
w::+s
e::+d
r::+f
t::+g
z::+h
u::+j
i::+k
o::+l
p::+SC027
a::+y
s::+x
d::+c
f::+v
g::+b
h::+n
j::+m
l:::
SC027::+-
return
#If