zshrcの設定
発展途上。
# 環境変数LANGをja_JP.UTF-8へ設定 export LANG=ja_JP.UTF-8 # vimlikeキーバインド bindkey -v # auto complete autoload -U compinit compinit # コマンド履歴 HISTFILE=~/.zsh_history HISTSIZE=10000 SAVEHIST=10000 setopt hist_ignore_dups # ignore duplication command history list setopt share_history # share command history data # コマンド履歴検索 autoload history-search-end zle -N history-beginning-search-backward-end history-search-end zle -N history-beginning-search-forward-end history-search-end bindkey "^P" history-beginning-search-backward-end bindkey "^N" history-beginning-search-forward-end # ディレクトリ名を入力するだけで移動 setopt auto_cd # 移動したディレクトリを記録しておく。"cd -[Tab]"で移動履歴を一覧 setopt auto_pushd # コマンド訂正 setopt correct # タブキー連打で補完候補を順に表示 setopt auto_menu # 補完候補一覧でファイルの種別を識別マーク表示(ls -F の記号) setopt list_types # パスの最後に付くスラッシュを自動的に削除しない setopt noautoremoveslash # = 以降でも補完できるようにする( --prefix=/usr 等の場合) setopt magic_equal_subst # 補完候補リストの日本語を正しく表示 setopt print_eight_bit # 補完の時に大文字小文字を区別しない(但し、大文字を打った場合は小文字に変換しない) zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' ############################################### # etc ############################################### setopt interactive_comments # コマンドラインで # 以降をコメントとする setopt numeric_glob_sort # 辞書順ではなく数値順でソート setopt no_multios # zshのリダイレクト機能を制限する unsetopt promptcr # 改行コードで終らない出力もちゃんと出力する setopt ignore_eof # Ctrl-dでログアウトしない setopt notify # バックグラウンドジョブが終了したら(プロンプトの表示を待たずに)すぐに知らせる setopt rm_star_wait # rm * を実行する前に確認 setopt rm_star_silent # rm * を実行する前に確認しない setopt no_clobber # リダイレクトで上書きを禁止 unsetopt no_clobber # リダイレクトで上書きを許可 setopt chase_links # シンボリックリンクはリンク先のパスに変換してから実行 setopt print_exit_value # 戻り値が 0 以外の場合終了コードを表示 setopt single_line_zle # デフォルトの複数行コマンドライン編集ではなく、1行編集モードになる # カーソル位置から前方削除(Ctrl-u) bindkey '^U' backward-kill-line # Ctrl-h で単語ごとに削除 bindkey "^h" backward-kill-word # / を単語の一部とみなさない記号の環境変数から削除 WORDCHARS='*?_-.[]~=&;!#$%^(){}<>' #function chpwd() { ls } # cd の後 ls も実行 ############################################### # エイリアス ############################################### # 補完される前にオリジナルのコマンドまで展開してチェックする setopt complete_aliases # エイリアス alias ls='ls --color=auto' alias h='history -E -32' alias ll='ls -laF --color | more' # 他の設定ファイルを読み込む [ -f $HOME/.zshrc.mine ] && source $HOME/.zshrc.mine # lsコマンドの補完候補にも色付き表示 eval `dircolors` zstyle ':completion:*:default' list-colors ${LS_COLORS} # kill の候補にも色付き表示 zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([%0-9]#)*=0=01;31' # 補完候補を詰めて表示する setopt list_packed # ビープ音をならないように設定 setopt nolistbeep # プロンプトの設定 case ${UID} in 0) PROMPT="%{%}%n%%%{%} " RPROMPT="[%~]" PROMPT2="%B%{%}%_#%{%}%b " SPROMPT="%B%{%}%r is correct? [n,y,a,e]:%{%}%b " [ -n "${REMOTEHOST}${SSH_CONNECTION}" ] && PROMPT="%{%}${HOST%%.*} ${PROMPT}" ;; *) PROMPT="%{%}%n%%%{%} " RPROMPT="[%~]" PROMPT2="%{%}%_%%%{%} " SPROMPT="%{%}%r is correct? [n,y,a,e]:%{%} " [ -n "${REMOTEHOST}${SSH_CONNECTION}" ] && PROMPT="%{%}${HOST%%.*} ${PROMPT}" ;; esac # ターミナルタイトル case "${TERM}" in kterm*|xterm) precmd() { echo -ne "\033]0;${USER}@${HOST%%.*}:${PWD}\007" } ;; esac