簡體   English   中英

如何使bash tab-completion像windows'cmd.exe一樣工作?

[英]How to make bash tab-completion work like windows' cmd.exe?

假設我有一個包含文件的文件夾,其名稱如下:

  • log_1.log
  • log_2.log
  • log_2.gz

我想在log_2.gz上執行一些操作,比如說移動。

在Windows cmd.exe中,我習慣於執行以下步驟:

  1. 鍵入move (沒有別的)
  2. 選項 選項 選項 遍歷選項卡完成選項,直到我到達log_2.gz
  3. 輸入destination

但是在bash shell中(在Mac OS X 10.8.3上的iTerm2中),我必須做這樣的事情:

  1. 輸入mv l
  2. 標簽 ,它帶我log_並發出惱人的嗶嗶聲
  3. 類型2
  4. 標簽這需要我log_2. 並發出惱人的嗶嗶聲
  5. 輸入g
  6. 選項 log_2.gz我到log_2.gz並且令人滿意地保持沉默
  7. 輸入destination

正如您所看到的,即使您知道目標文件名,bash也需要更多步驟,但想象一下您不確定文件名究竟是什么的場景(可能是ls太長)。 我經常發現自己在這個場景中經過一些標簽 +打字並被迫放棄命令,再次運行ls ,復制文件名,甚至可以運行pwd與文件夾連接,然后從我離開的地方繼續。 這非常煩人。

您可以在.inputrc添加以下內容(如果您沒有,則創建它)文件。 添加后,請獲取文件或注銷並重新登錄。

set show-all-if-ambiguous on
set completion-ignore-case on
TAB: menu-complete

暫無
暫無

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

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