偏好設定-終端機

終端機偏好設定

  • 終端機 git 自動補全 (bash-completion)
  • 終端機上色 (oh-my-zsh)


thanx to 我的 Git 偏好設定 & 为 Mac OS 添加 Bash Completion


請修改 home 目錄的 ~/.bash_profile 檔案 (我是用 Bash)。

function git_branch {
    ref=$(git symbolic-ref HEAD 2> /dev/null) || return;
    echo "("${ref#refs/heads/}") ";
}

function git_since_last_commit {
    now=`date +%s`;
    last_commit=$(git log --pretty=format:%at -1 2> /dev/null) || return;
    seconds_since_last_commit=$((now-last_commit));
    minutes_since_last_commit=$((seconds_since_last_commit/60));
    hours_since_last_commit=$((minutes_since_last_commit/60));
    minutes_since_last_commit=$((minutes_since_last_commit%60));

    echo "${hours_since_last_commit}h${minutes_since_last_commit}m ";
}

PS1="[\[\033[1;32m\]\w\[\033[0m\]] \[\033[0m\]\[\033[1;36m\]\$(git_branch)\[\033[0;33m\]\$(git_since_last_commit)\[\033[0m\]$ "

好用的外掛 bash-completion

這樣按 tab 就會有自動完成的效果, 包括 git checkout 時都可以抓到你的 branch 名稱。

Homebrew 來安裝 bash-completion,

brew install bash-completion
cp /usr/local/etc/bash_completion.d/git-completion.bash ~/.git-bash-completion.sh

(這套件其實包括很多 autocompletion script,你可以去 /usr/local/etc/bash_completion.d 這個目錄找找看。)

編輯 ~/.bash_profile 加入

[ -f ~/.git-bash-completion.sh ] && . ~/.git-bash-completion.sh

Git 的設定

下面的 git 設定檔的位置在 ~/.gitconfig 可以直接修改檔案。

打開 Git 的 color 顏色設定

這樣 Git 指令的輸出結果才會加上顏色,像是 git status 等:

git config --global color.ui true

但是我可能是裝了 zsh 檔案格式是寫成這樣

[color]
    ui = true
設定你偏好的文字編輯器和 diff 工具
git config --global core.editor
git config --global merge.tool opendiff
alias:
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.br branch

另一種格式:

[alias]
    co = checkout
    ci = commit
    st = status
    br = branch

這樣只要輸入 git st 就是 git status 了。

後來試試 iterm 用 zsh

用 brew 安装 zsh

chsh -s /usr/local/bin/zsh

報錯 沒有支援的 shell??

chsh: /usr/local/bin/zsh: non-standard shell

這裡:終端機的偏好設定 GUI 可以更改預設開啟 然後 iterm 也可以在偏好設定裡更改...


bash 轉移 zsh (oh-my-zsh) 設定心得

http://icarus4.logdown.com/ icarus4's blog

  1. 安裝 zsh
  2. 安裝 oh-my-zsh
  3. 安裝 zsh-completions
  4. 調整設定

不過即使 oh-my-zsh 再好用,還是有一些自動補全的功能沒有包含在裡面。 例如說如果你在 bash 底下有安裝 bash-completion,會發現你用 homebrew 再按下 tab 時可以自動補全套件的名稱...

類似的 homebrew 補全功能在 oh-my-zsh 是沒有納入的,所以需要透過自行撰寫,或者利用類似 zsh-completions 這樣的套件來補足。

results for ""

    No results matching ""