[英]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中,我習慣於執行以下步驟:
move
(沒有別的) log_2.gz
destination
但是在bash shell中(在Mac OS X 10.8.3上的iTerm2中),我必須做這樣的事情:
mv l
log_
並發出惱人的嗶嗶聲 2
log_2.
並發出惱人的嗶嗶聲 g
log_2.gz
我到log_2.gz
並且令人滿意地保持沉默 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.