有没有办法用@ AN,^ E等对字符串进行别名?或通过键盘快捷键这样的东西?
答案 0 :(得分:1)
您可以使用GNU Readline做您想做的事情。在Bash中,您可以使用bind
builtin来显示(bind -P
)或修改readline键绑定。例如,bind '"\e[15~":"top\C-m"'
会将 F5 映射到“top \ n”。您还可以使用inputrc
配置文件来存储这些设置。
这不是alias,但它可能会引导您达到您想要的效果。
在zsh
上,由于zsh不使用readline,因此会略有不同。相反,它使用自己的,更强大的zle:命令和语法可能略有不同,但结果应该大致相同。
答案 1 :(得分:1)
在zsh中我使用以下配置使两个 Esc 执行类似于您所描述的操作:
sudo-command-line() {
[[ -z $BUFFER ]] && zle up-history
[[ $BUFFER != sudo\ * ]] && BUFFER="sudo ${BUFFER% }"
zle end-of-line
}
zle -N sudo-command-line
bindkey "\e\e" sudo-command-line
答案 2 :(得分:0)
对于zsh使用bindkey -s
bindkey -s "^A" "sudo "