2011-06-17 178 views

回答

9

如果您使用的是默認編輯模式,請按Ctrl + R搜索歷史記錄。

如果你已經做了設置-o VI使用vi編輯模式,則ESC-/

+0

謝謝Kevin讓我試用 – Manoj 2011-06-17 00:43:05

2

我結合使用history命令grep,例如history | grep vi顯示使用vi的所有命令。

2

簽出命令「fc」的「Gnu Bash手冊」(man bash)。例如。 fc -l -80會列出最後的80個命令,而其他選項則讓您使用RegEx進行搜索...

4

history命令是要走的路。我用

h() 
{ 
    history | cut -f 2- | sort -u | grep -P --color=auto -e "$*" 
} 

,這樣我可以輸入類似h git.*MyProgramh ^tar -ch svn:ignore等拉起匹配正則表達式過去的命令排序列表。

您可能還需要添加以下幾行到〜/ .inputrc文件:

# Ctrl+Up/Down for searching command history 
"\e[1;5A": history-search-backward 
"\e[1;5B": history-search-forward 

有了這些之後,就可以鍵入部分命令前綴(如gisql),然後使用Ctrl +向上只需滾動瀏覽與該前綴相匹配的命令歷史記錄列表(如git clone https://code.google.com/p/double-conversion/sqlite3 .svn/wc.db .tables)即可。如果要編輯或重新執行相當近的命令,這可能比搜索然後剪切和粘貼要快得多。

2

vi ~/.inputrc 

添加

對於向上/向下箭頭綁定:

"\e[A": history-search-backward 
"\e[B": history-search-forward 

或爲向上/向下翻頁綁定:

"\e[5~": history-search-backward 
"\e[6~": history-search-forward 

關閉和開放cygwin

Voila。

0

我認爲最簡單的方法之一就是用較少的管道和按搜索字符(「/」),然後鍵入你想找到的命令。

history | less 

然後

/text to find 

找到所需的命令

另一種方式

是到標準輸出形式history命令附加到文件:history > /cygdrive/path/file.txt

,然後在文檔中搜索。