簡體   English   中英

在bash中,如何清除當前輸入?

[英]In bash, how does one clear the current input?

假設你在bash中開始編寫如下命令:

$ rm -rf /foo/bar/really/long/path/here

然后意識到你畢竟不想執行這個。 有沒有辦法通過一次或兩次擊鍵來清除輸入?

我最近一直在做的是在回顯之前將輸入括在引號中(Ctrl + A, echo " ,Ctrl + E, " ),然后點擊回車。 有更快的方法嗎?

  1. Ctrl - U刪除光標前的所有內容。 刪除的命令將存儲在緩沖區中。 Ctrl - Y粘貼已刪除的命令。

    (可選:按EndCtrl - E首先跳轉到輸入的末尾。)

  2. 或者,按Ctrl - C中止您正在鍵入的內容。

嘗試Ctrl + U. 這清除了輸入行。

搜索時找到http://www.ice2o.com/bash_quick_ref.html上的簡短參考。

ctrl + e (如果不在行的末尾)再加上ctrl + u就可以了。

Ctrl - UCtrl - K也可以。

Ctrl - U刪除從行開頭到光標的所有內容, Ctrl - K刪除從光標到行尾的所有內容。 (有時只使用其中一個。)

有兩種方法可以做到這一點

ctrl + c - 無論光標在哪里,都會清除整行。

ctrl + u - 清除從光標位置到開頭的直線。

在bash中按Esc plus Backspace將清除光標所在位置的所有內容。

(在Cygwin中,這將清除輸入到下一個單詞。單詞用空格,下划線,......)

一個很好的捷徑是按Esc 它將添加一個#字符(從而使該行成為注釋),然后按Enter鍵。 如果你然后決定你仍然需要命令,你仍然在你的歷史:)

考慮使用Ctrl - U (或Ctrl - E然后按Ctrl - U )將您在緩沖區中清除的內容存儲起來,以便稍后使用Ctrl - Y粘貼它。

這是knittl答案的擴展, 通過前綴哈希來存儲控制台歷史記錄中的行。 克服剪貼板的缺點,例如意外覆蓋或無法查看剪切線以供參考。

評論行並返回新提示

使用任一鍵快捷鍵:

  • Esc
  • Alt +

哈希字符#將被添加到該行之前,從而將整行轉換為注釋。 它還將返回一個新提示,就像用戶按下了enter一樣。 例如

$ #rm -rf /foo/bar/really/long/path/here
$

檢索注釋行

要從控制台歷史記錄中恢復舊行,請使用以下快捷方式之一:

  • 向上
  • Ctrl + p

重復鍵快捷鍵,直到出現所需的行。


快速哈希前綴刪除

要刪除行的hash #前綴,可以使用幾個不同的選項:

刪除第一個字符並立即執行命令:

  • Esc1Esc
  • Alt + -Alt +

移動光標以啟動並刪除第一個字符,而不執行命令:

  • 主頁刪除
  • Ctrl + aCtrl + d

要刪除當前行,請嘗試:

Ctrl - XCtrl - U.

作為替代方案,您可以使用:

Esc - D.

在〜/ .inputrc中需要:

"\ed": kill-whole-line 

請參閱: http//codesnippets.joyent.com/posts/show/1690

如果你在vi模式下使用Bash(用set -o vi設置它),然后按Esc切換到vi的正常模式,然后輸入dd刪除當前行!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM