問題描述
在鍵入命令行時是否有清除命令行的快捷方式而不是按住退格鍵幾秒鍾?
我問,因為我經常使用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