最近比較常用 tcsh 當作 FreeBSD 的開發環境,甚至其它常用的 Linux 亦是如此。然後就會有個需求,希望按"上”時,能夠自動顯示上一個已執行的指令,理論上這都很直觀,好像預設也是這樣,但如果想要做到搜尋的功能,那就要多一些設定。
例如依序打了三道指令
- # ls -la
- # vim .bashrc
- # cat .bashrc
如果只是用單純的 history 功能,接下來我只要按"上”鍵時,此時會自動顯示上一道執行指令,即 cat .bashrc 。但如果我先打了 l 再按"上"鍵時,想要它會去找到 ls -la 這道指令,那就要多做些設定,細節請參考這篇文章:bash 記憶指令 For Linux。
設定方式:
- # vim ~/.bashrc
- bind '"\x1b\x5b\x41":history-search-backward'
bind '"\x1b\x5b\x42":history-search-forward'
- bind '"\x1b\x5b\x41":history-search-backward'
另外,關於 tcsh 的設定:
- # vim ~/.cshrc
- bindkey "^W" backward-delete-word
bindkey -k up history-search-backward
bindkey -k down history-search-forward
- bindkey "^W" backward-delete-word
沒有留言:
張貼留言