调用不带参数的最后一个命令

调用不带参数的最后一个命令

在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

在模式中bashzshemacs模式中,您可以使用Alt+ 0Alt+ _。即按住该Alt键并按顺序按 0 和下划线(在 qwerty 键盘上,它们是彼此相邻的,尽管您需要Shift下划线)。

它扩展为前一个命令行的第一个语法单词。这可能不是最后一个命令。例如,如果最后一个命令行是:

$(echo echo foo) bar

它会扩展到$(echo echo foo),而不是echo

如果您希望它是单个键,则可以使用bindinbashbindkeyinzsh将该序列绑定到键。

例如,要绑定到F12

  • bash:

    bind "\"$(tput kf12)"'": "\e0\e_"'
    
  • zsh:

    bindkey -s $terminfo[kf12] '\e0\e_'
    

相关内容