如果我正在使用终端并为命令输入一行文本,是否有热键或任何方式来清除/删除该行?
例如,如果我当前的行/命令非常像:
> git log --graph --all --blah..uh oh i want to cancel and clear this line <cursor is here now>
Run Code Online (Sandbox Code Playgroud)
是否有热键或命令从上面到:
>
Run Code Online (Sandbox Code Playgroud)
?
通常我会按下↓键,如果我的当前行是历史上的全新行,那将清除它.但是如果我通过↑键查看命令历史记录并开始编辑或使用这些命令,↓则只会将提示更改为历史记录中的下一个最新命令,因此除非我按↓多次,否则它不起作用.
如果你已经编写了一个非常长的命令,比如说cd /very/long/path
,然后你按ctrl + c或ctrl + u(如果光标在最后),然后你意识到你想要命令回来,有没有办法得到没有重新打字的全线.是否有任何技巧可以改变.bashrc
,bash_history
以便跟踪在shell上按下的键,而不仅仅是在输入命中之后.
我在In bash回答了一个问题,如何清除当前的输入?并意识到如果我们有这样的选择,那将非常有帮助.
我使用的是 Centos 6,bash 版本 4.1.2。
在我的旧 centos 5 盒子中(我不再有它了),我可以通过命令键入部分内容,当我发现我不想运行该命令时,我会按 ctrl-c 取消并获取提示符上的新行。
在我的新安装中,如果我在输入命令时按 ctrl-c,我实际上会在命令取消之前在该行的当前位置插入一个“^C”,并且新的提示行可用。
没什么大不了的,但是如果我回顾我的历史记录,它现在充满了带有“^C”的命令,这是我想避免的,因为我经常使用我的历史记录。
那么,知道如何使用 ctrl-c 取消,但不在行中插入“^C”吗?