我最近已切换到 fish shell,它的自动完成功能非常好。
但是,我发现自己想要使用tabcomplete_autocomplete 功能,而不是当它没有歧义时。forward 和 end 键都可以做到这一点,但在正常打字姿势下,我的手指够不到它们。
我很想用这Capslock把钥匙来做这件事,因为我从来没有用过这把钥匙,但它的位置很好。
我试过了,setxkbmap -option caps:none
但似乎完全禁用了该capslock键。我想我可以将其绑定到前进或结束键,但我也不确定如何做到这一点。
另外,我似乎无法在 fish shell 中找到以下键绑定capslock:
cowpig@gerty:~$ bind -K
b2
backspace
btab
dc
down
end
enter
f1
f2
f3
f4
f5
f6
f7
f8
f9
f10
f11
f12
f13
f14
f15
f16
f17
f18
f19
f20
home
ic
left
npage
ppage
right
sdc
send
sf
shome
sic
sleft
snext
sprevious
sr
sright
up
答案1
首先,查看手册,因为我认为Ctrl+F也会自动完成。您可以看到它输入help
fish。
如果要继续映射,请运行xev
并按下capslock以获取密钥代码。我的是 66:
enter code hereKeyRelease event, serial 37, synthetic NO, window 0x5200001,
root 0x4b7, subw 0x0, time 6149967, (918,609), root:(984,661),
state 0x10, keycode 66 (keysym 0xff57, End), same_screen YES,
XKeysymToKeycode returns keycode: 37
XLookupString gives 0 bytes:
XFilterEvent returns: False
现在创建一个脚本(即~/xmodmap.sh),权限为755,内容如下:
#/bin/bash
xmodmap -e "keycode 66 = End"
xmodmap -e "clear Lock"
运行脚本,它会将其转换capslock为End密钥。
为了使其永久生效,请将此命令添加到启动应用程序中:
/bin/bash -c "sleep 7 && /home/myusername/xmodmap.sh"
我已经尝试使用 fish shell,它确实自动完成了命令。
我用来Alt Gr将一些键映射到更近的位置:自定义键盘布局,包括导航键