最近比較常用 tcsh 當作 FreeBSD 的開發環境,甚至其它常用的 Linux 亦是如此。然後就會有個需求,希望按"上”時,能夠自動顯示上一個已執行的指令,理論上這都很直觀,好像預設也是這樣,但如果想要做到搜尋的功能,那就要多一些設定。

例如依序打了三道指令

  1. # ls -la
  2. # vim .bashrc
  3. # 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'

另外,關於 tcsh 的設定:

  • # vim ~/.cshrc
    • bindkey "^W" backward-delete-word
      bindkey -k up history-search-backward
      bindkey -k down history-search-forward

changyy 發表在 痞客邦 PIXNET 留言(0) 人氣()