清除命令行终端的快捷方式

fai*_*zal 85 command-line bash shortcut-keys gnome-terminal

输入时是否有清除命令行的快捷方式,而不是按住退格键几秒钟?

我问是因为我Tab在终端中使用 bash 命令时经常使用密钥自动填写文件名。例如cd this_is_a_long_file_name,我不会输入,而是输入cd th<Tab>。但是后来我意识到我填写了错误的命令/文件名,我必须按住退格键来清除所有内容并重复该过程。

Rad*_*anu 152

Ctrl+U只会清理从光标到行首,所以如果光标在行尾,则清理所有行,否则会保留光标后的字符。

对于完整的答案,我会说:

  • Ctrl+ U- 仅当光标位于行尾时,才清除从行尾到行首的所有当前行。

    • 然后,如果需要,您可以使用Ctrl+调用已清除的行Y
  • Ctrl+ K- 仅当光标位于行首时,才清除当前行从头到尾的所有内容。

    • 然后,如果需要,您可以使用Ctrl+调用已清除的行Y
  • Ctrl+ W- 清除当前行中的前一个单词。例如,如果您输入了一个像这样的命令,git diff /path/to/some/file而您只想删除该命令的最后一个参数,那么Ctrl+W非常有用。

    • 然后,如果需要,您可以使用Ctrl+调用清除的数据Y
  • Ctrl+ E Ctrl+ U- 将光标移动到行尾并清除当前行从尾到首的所有内容。

    • 然后,如果需要,您可以使用Ctrl+调用已清除的行Y
  • Ctrl+ A Ctrl+ K- 将光标移动到行首并清除当前行从头到尾的所有内容。

    • 然后,如果需要,您可以使用Ctrl+调用已清除的行Y
  • Ctrl+ C-我最喜欢的- 取消当前命令行,这意味着无论光标在哪里都清除所有当前行。

    • 缺点:您无法再调用清除的行。
  • Alt+ Shift+ #- 注释当前行,将其保留在历史记录中并在新行上显示提示。

  • 还有 Ctrl+L,它输出一堆换行符来隐藏以前的输出。(我知道问题是关于输入行本身的) (3认同)

Syl*_*eau 22

一个快捷方式,Ctrl+u应该做你想做的。

  • 和用于清除屏幕的`Ctrl+l`(有点像`stty -sane`,但可能不那么有效和影响深远)。`Ctrl+l` 也适用于许多应用程序(例如,它会在 vi 中强制重绘。当有人在上面“写”或“墙”时很有用) (5认同)

Gil*_*il' 16

如果您发现您按错了键,请按Ctrl+ _(下划线,Shift根据您的键盘布局,您可能需要按住不放,例如Ctrl+ Shift+-美式键盘)以撤消上一个编辑命令。

如果您发现输入了错误的命令名称但参数正确,则可以使用光标移动命令(例如箭头键),HomeEnd导航到要修改的命令行部分。

命令Alt+bAlt+f一次一个单词来回移动。Alt+dCtrl+w删除光标后的下一个单词,如果光标在一个单词内,则删除单词的结尾;Alt+b使用 shell 的单词概念,而Ctrl+w使用空格分隔的单词。Esc Backspace删除光标前的单词。

如果要完全放弃当前命令行并重新开始,请按Ctrl+ c


小智 5

使用Ctrl-c取消当前的命令,这也适用,如果你还没有被按压的进入。但是它不会清除终端,只会在新行上显示您的提示。要清除终端的可视部分,您可以按Ctrl-l