在bash中,调用最后一个命令的快捷方式是什么没有有什么论据吗?
这似乎是我找到的各种指南中缺少的一个捷径,例如https://linuxconfig.org/linux-command-line-bash-shell-shortcuts
我希望最后使用的命令出现在命令行上,光标位于行尾,以便我可以键入我希望提供的新参数。
此外,我想通过一个快捷键组合来实现这一点,例如CTRL+P
!:0
不起作用,因为它实际上执行了命令,而没有给我输入新参数的机会。
Meta+ Ctrl+e无法在 bash 中为我产生任何结果。但是,以下内容表明它应该有效,假设\e
指的是Alt
bind -P | grep shell-expand-line
shell-expand-line can be found on "\e\C-e".
我正在运行阿奇。
答案1
在模式中bash
或zsh
在emacs
模式中,您可以使用Alt+ 0Alt+ _。即按住该Alt键并按顺序按 0 和下划线(在 qwerty 键盘上,它们是彼此相邻的,尽管您需要Shift下划线)。
它扩展为前一个命令行的第一个语法单词。这可能不是最后一个命令。例如,如果最后一个命令行是:
$(echo echo foo) bar
它会扩展到$(echo echo foo)
,而不是echo
。
如果您希望它是单个键,则可以使用bind
inbash
或bindkey
inzsh
将该序列绑定到键。
例如,要绑定到F12:
bash
:bind "\"$(tput kf12)"'": "\e0\e_"'
zsh
:bindkey -s $terminfo[kf12] '\e0\e_'