我经常发现自己处于以下位置:我已经开始在 bash 提示符下键入一个长命令,但是中途我发现我需要用另一个命令检查某些内容。当我在控制台(没有 X)时,这是一个问题,通常是这种情况,因为那时我只有以下不满意的方法来做到这一点,我知道:
所以我想知道的是,有没有更优雅的方法来做到这一点?一种子shell命令或类似的?
我对不需要任何准备或设置即可工作的方法最感兴趣。
编辑多行命令时,使用转义换行符,我无法向上移动行。
例如,假设我输入echo \
一行,然后按Enter,然后我想编辑echo \
命令的部分。按下Up不会移回第一个命令行。
这适用于包装的长命令,但不适用于转义换行符:
_physical_up_line() { zle backward-char -n $COLUMNS }
_physical_down_line() { zle forward-char -n $COLUMNS }
zle -N physical-up-line _physical_up_line
zle -N physical-down-line _physical_down_line
bindkey -M vicmd "R" physical-up-line
bindkey -M vicmd "N" physical-down-line
Run Code Online (Sandbox Code Playgroud)