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