Bash shell命令内联校正

时间:2014-12-28 12:55:56

标签: bash shell

在bash shell中输入(long)命令时,如果你在行中提前出错,有没有办法纠正错误而不必导航回来呢?例如,假设您刚刚输入了类似的内容,但尚未按下返回:

git commit =m 'Some really long commit message, perhaps spanning multiple lines'

如果你不小心输入 = 而不是 - ,是否可以在按下输入之前将某些内容附加到命令的末尾,然后执行in-换行纠正错误?这样做非常方便,可以避免做像

这样令人讨厌的事情
  • Ctrl+C,然后使用复制和粘贴的组合重建命令。
  • 按下左箭头很多次,以便在按下回车键之前进行纠正。

理论上的一个解决方案是通过sed来管理整个命令的内容,但是我不确定如何将命令捕获为可以以这种方式使用的文本字符串。

2 个答案:

答案 0 :(得分:1)

我会做什么: ctrl + a

然后在=之后移动光标,然后点击 ctrl + w

最新删除上一个单词。

答案 1 :(得分:1)

多个快捷方式可以在这里提供帮助:

  • 使用 ctrl + a 转到该行的开头
  • 使用 alt + b alt + f 一次向前和向后移动一个单词< / LI>
  • 使用 alt + e 打开编辑器($ EDITOR),其中包含您当前的命令,编辑它,然后关闭您的编辑器。< / LI>