Command-Line
如何呼叫先前的命令(不執行)以更改它?
我不記得在不執行它的情況下獲得最後一個命令的技巧:
假設我希望能夠在按下向上箭頭鍵並修改命令時訪問命令 !1255 。那麼呼叫命令的技巧是什麼,使其顯示在命令行中但不執行,然後通過向上箭頭鍵訪問?
我試著放一個迴聲,但是在命令之前我有一個迴聲,我不記得如何正確地做到這一點。
!1255:p
會這樣做
!
是歷史召回
1255
是行號
:p
列印但不執行然後你可以使用向上箭頭來取回之前的(未執行的)命令,你可以根據需要進行更改。
我經常將它與
hg
(“History Grep”)結合起來——我最喜歡的別名。$ alias hg # Maybe use hgr instead if you are a Mercurial CLI user. alias hg='history | tail -200 | grep -i'
這將搜尋最近歷史行上的文本,無論大小寫如何,並以這種方式使用:
當我想搜尋最近的 vi 命令來編輯某個文件,然後我想重新使用其中一個命令來編輯同一個文件但具有不同的文件副檔名時。
$ hg variables 6153 vi Variables/user-extensions.js 6176 vi Variables/user-extensions.js 6178 vi Variables/user-extensions.js 6190 vi Variables/user-extensions.js 6230 hg variables $ # Notice the difference in case with V and v is ignored $ !6190:p vi Variables/user-extensions.js $ ["up-arrow"] $ vi Variables/user-extensions.[now change .js to .html]
我還定義
hga
(“History Grep All”)來搜尋我的整個歷史:$ alias hga alias hga='history | grep -i'
但我並沒有太多使用它,因為我的歷史(故意)非常大,而且我得到的輸出太多,以後會影響在我的終端中向後滾動頁面。