如果我使用终端并输入一行文本命令,是否有热键或任何方法来清除/删除该行?

例如,如果我当前的行/命令非常长,比如:

> git log --graph --all --blah..uh oh i want to cancel and clear this line <cursor is here now>

是否有一个热键或命令可以从上面切换到:

>

?

通常我会按↓键,如果我的当前行是一个全新的历史记录,这将清除它。但如果我通过↑键浏览我的命令历史记录并开始编辑或使用这些命令,↓只会将提示符更改为历史记录中下一个最新的命令,所以除非我多次按↓,否则它不会在这里工作。


当前回答

Ctrl+u:移动到你的行开始到一个环形缓冲区 Ctrl+k:移动到你的行的末尾到一个环形缓冲区 Ctrl+w:移动字符和(多个)字左从你的光标到一个环形缓冲区 Ctrl+y:插入环缓冲区中的最后一项,然后使用Alt+y旋转环缓冲区。按多次以继续“上一个”进入环缓冲区。

其他回答

按Ctrl+A,按Ctrl+K擦除终端中的当前行。如果需要,可以按Ctrl+Y收回。

我不确定你是否喜欢它,但我使用Ctrl+A(开始行)和Ctrl+K(删除行),我熟悉emacs中的这些命令,并意外地发现了它们。

我有完整的快捷方式列表:

Ctrl+a Move cursor to start of line Ctrl+e Move cursor to end of line Ctrl+b Move back one character Alt+b Move back one word Ctrl+f Move forward one character Alt+f Move forward one word Ctrl+d Delete current character Ctrl+w Cut the last word Ctrl+k Cut everything after the cursor Alt+d Cut word after the cursor Alt+w Cut word before the cursor Ctrl+y Paste the last deleted command Ctrl+_ Undo Ctrl+u Cut everything before the cursor Ctrl+xx Toggle between first and current position Ctrl+l Clear the terminal Ctrl+c Cancel the command Ctrl+r Search command in history - type the search term Ctrl+j End the search at current history entry Ctrl+g Cancel the search and restore original line Ctrl+n Next command from the History Ctrl+p previous command from the History

或者如果你使用vi模式,按Esc然后cc

返回刚才擦除的内容,按Esc键,然后按p:)

您可以使用Ctrl+U清除开始。

你可以使用Ctrl+W删除一个单词。

也可以使用Ctrl+C取消。

如果你想保留历史记录,你可以使用Alt+Shift+#使其成为注释。


Bash Emacs编辑模式备忘单