问题描述
在键入命令行时是否有清除命令行的快捷方式而不是按住退格键几秒钟?
我问,因为我经常使用Tab
键在终端中使用bash命令时自动填写文件名。例如,我将键入cd th<Tab>
而不是键入cd this_is_a_long_file_name
。但后来我意识到我填写了错误的命令/文件名,我必须按住退格键清除所有内容并重复此过程。
最佳解决方案
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
+ u
应该做你想要的。
第三种解决方案
如果您意识到按错了键,请按Ctrl
+ _
(下划线,您可能需要根据键盘布局保持Shift
,例如Ctrl
+ Shift
+ -
美国键盘)来撤消上一个编辑命令。
如果您意识到键入了错误的命令名但参数正确,则可以使用光标移动命令(如箭头键,Home
和End
)导航到要修改的命令行部分。
命令Alt
+ b
和Alt
+ f
一次来回移动一个字。 Alt
+ d
和Ctrl
+ w
删除光标后的下一个字,如果光标在一个字内,则删除字的结尾; Alt
+ b
使用shell的单词概念,而Ctrl
+ w
使用whitespace-separated单词。 Esc
Backspace
删除光标前的单词。
如果要完全放弃当前命令行并重新启动,请按Ctrl
+ c
。
第四种方案
使用Ctrl-c
取消当前命令,如果您尚未按Enter键,这也可以使用。它不会清除终端,只会在新线路上显示你的提示。要清除终端的可视部分,可以按Ctrl-l