Shell

常用快捷鍵

修改 shell

列出可使用的Shell列表

chsh -l

修改shell

chsh -s /bin/bash

相關連結

shell 列表

shell 搜尋技巧

快捷鍵

透過Ctrl + r查詢歷史指令,多次Ctrl + r向前查詢歷史。

指令標籤

這是一個來自How to cycle through reverse-i-search in BASH? 回答者提供的技巧,但此方法僅適用bash而不適合zsh,後者會將#之後的內容傳遞給程式導致錯誤, 解決此問題似乎要配置INTERACTIVE_COMMENTS1

範例如下

ls /       # list root dir

以下幾點是針對此方法進行考量,因為沒有嘗試實際應用可能會有思考不周全的部份, 列出可能存在的優缺點。

適當的時機可能在開始一項工作時,為了方便紀錄使用的指令而使用此標記。

配置歷史紀錄

為方便存取指令紀錄,.zshrc添加以下兩行。

SAVEHIST=4000
HISTSIZE=$SAVEHIST

註: SAVEHIST似乎為zsh特有參數,而bash無此參數採用HISTSIZE即可

shell script編寫技巧

  1. history: 列出歷史,編寫script時嘗試以交互模式進行測試, 完成之後列出紀錄來輔助編寫,也可以直接檢視history檔案。

zsh

#切換到emacs鍵綁定模式
set -o emacs 

這樣可以兼容bash大部分的鍵綁定

#切換到vi鍵綁定模式
set -o vi

參見vim,預設進入zsh為輸入模式,透過Esc 切換到normal mode,透過i回到輸入模式

zsh-autosuggestions

用來提示尚未輸入完成的指令

zsh-autosuggestions github, 安裝請參考這篇文檔

按下方向右鍵即可採用建議指令

編輯指令

.zshrc加入下面配置,如果配置含有bindkey -e等類似的配置請放在之後

autoload -z edit-command-line
zle -N edit-command-line
bindkey "^X^E" edit-command-line

參見 How to edit command line in full screen editor in ZSH?

autojump

參見autojump


Linux Shell