source: projects/vskel/trunk/.zshrc @ 7310

Revision 7310, 3.1 KB checked in by iwaim, 10 years ago (diff)

vskel: update .zshrc

add vcs_info in PROMPT for Zsh

Line 
1# ~/binをPATHに追加する
2#PATH=~/bin:$PATH
3#export PATH
4
5# alias
6alias ls='ls -F --color=auto'
7alias ll='ls -la --color=auto'
8alias la='ls -a --color=auto'
9alias eng='LANG=C LANGUAGE=C LC_ALL=C'
10
11# user file-creation mask
12umask 022
13
14## キーバインド
15# Emacs風キーバインド
16#bindkey -e
17# Vi風キーバインド
18#bindkey -v
19
20# vcs_info(プロンプト用)
21autoload -Uz add-zsh-hook
22autoload -Uz vcs_info
23zstyle ':vcs_info:*' formats '(%s)-[%b]'
24zstyle ':vcs_info:*' actionformats '(%s)-[%b|%a]'
25local VCS_INFORMATION=""
26
27function _precmd_load_vcs_info () {
28        LANG=en_US.utf8 vcs_info
29        psvar=()
30        [[ -n "$vcs_info_msg_0_" ]] && psvar[1]="$vcs_info_msg_0_"
31}
32
33add-zsh-hook precmd _precmd_load_vcs_info
34
35## プロンプト
36local C_ROOT="%{[31m%}"    # 31: red
37local C_LOCAL="%{[36m%}"   # 36: cyan
38local C_REMOTE="%{[35m%}"  # 35: magenta
39local C_VCS_INFO="%{[34m%}" # 34: blue
40local C_RESET="%{[m%}"
41case ${UID} in
420)
43        PROMPT="${C_ROOT}%n@%m(%h%)${C_RESET}# "
44        PROMPT2="%_> "
45        RPROMPT="[%~]"
46        SPROMPT="%r is correct? [n,y,a,e]: "
47        [ -n "${REMOTEHOST}${SSH_CONNECTION}" ] &&
48        PROMPT="${C_ROOT}%n@%B%m%b(%h%)${C_RESET}# "
49        ;;
50*)
51        PROMPT="${C_LOCAL}%n${C_VCS_INFO}%1v${C_RESET}%% "
52        PROMPT2="%_> "
53        RPROMPT="[%~]"
54        SPROMPT="%r is correct? [n,y,a,e]: "
55        [ -n "${REMOTEHOST}${SSH_CONNECTION}" ] &&
56        PROMPT="${C_REMOTE}%n@%B%m%b${C_VCS_INFO}%1v${C_RESET}%% "
57        ;;
58esac
59# コマンド実行後は右プロンプトを消す
60setopt transient_rprompt
61
62## タイトルバーに各種情報を表示
63case "${TERM}" in
64kterm*|xterm)
65        precmd() {
66            echo -ne "\033]0;${LOGNAME}@${HOST%%.*}:${PWD}\007"
67        }
68        ;;
69esac
70
71## 補完
72autoload -U compinit
73compinit
74# ディレクトリ名を入力するだけで移動
75#setopt auto_cd
76# 自動でpushd
77setopt auto_pushd
78# 重複するディレクトリはpushdしない
79setopt pushd_ignore_dups
80# 存在しないコマンド入力時に修正を提案
81setopt correct
82# 補完候補リストを詰めて表示
83setopt list_packed
84# 補完候補リスト表示時にビープ音を鳴らさない
85setopt nolistbeep
86
87## 履歴
88# 履歴ファイル
89HISTFILE=~/.zsh_history
90# メモリに保存する履歴の数
91HISTSIZE=10000
92# ファイルに保存する履歴の数
93SAVEHIST=10000
94# 同じコマンドを保存対象外とする
95setopt hist_ignore_dups
96# 複数のシェル間で履歴を共有する
97setopt share_history
98# historyコマンド自体は履歴に追加しない
99setopt hist_no_store
100# 余分な空白を除去して履歴に追加する
101setopt hist_reduce_blanks
102# スペースではじめたコマンドは履歴に追加しない
103#setopt hist_ignore_space
104
105# 履歴検索機能
106autoload history-search-end
107zle -N history-beginning-search-backward-end history-search-end
108zle -N history-beginning-search-forward-end history-search-end
109bindkey "^P" history-beginning-search-backward-end
110bindkey "^N" history-beginning-search-forward-end
111
112## Zshの挙動
113# パスの最後に付けたスラッシュを勝手に除去させない
114setopt noautoremoveslash
115# aliasの場合もaliasを展開して補完対象を探したりする
116setopt complete_aliases
117
118# ~/.zshrc.localが存在すれば読み込む
119[ -f ~/.zshrc.local ] && source ~/.zshrc.local
120
Note: See TracBrowser for help on using the repository browser.