Skip to content

Instantly share code, notes, and snippets.

@takeshy
Created February 17, 2011 08:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save takeshy/831301 to your computer and use it in GitHub Desktop.
Save takeshy/831301 to your computer and use it in GitHub Desktop.
.zshrc
# Created by newuser for 4.3.6
# 文字コードの設定
export EDITOR=vim
export LANG=ja_JP.UTF-8
bindkey -e
# パスの設定
export PATH=/usr/local/bin:$PATH:$HOME/bin:$HOME/bin/scala-2.8.1.final/bin:$HOME/bin/apache-ant-1.8.2/bin
export MANPATH=/usr/local/share/man:/usr/local/man:/usr/share/man
# 関数
find-grep () { find . -type f -print | xargs grep -n --binary-files=without-match $@ }
# エイリアスの設定
alias ls='ls --color=auto'
alias ll='ls -ltr'
alias vi='vim'
alias gd='dirs -v; echo -n "select number: "; read newdir; cd +"$newdir"'
case ${UID} in
0)
PROMPT="%B%{^[[31m%}%/#%{^[[m%}%b "
PROMPT2="%B%{^[[31m%}%_#%{^[[m%}%b "
SPROMPT="%B%{^[[31m%}%r is correct? [n,y,a,e]:%{^[[m%}%b "
[ -n "${REMOTEHOST}${SSH_CONNECTION}" ] &&
PROMPT="%{^[[37m%}${HOST%%.*} ${PROMPT}"
;;
*)
PROMPT="%{^[[31m%}%/%%%{^[[m%} "
PROMPT2="%{^[[31m%}%_%%%{^[[m%} "
SPROMPT="%{^[[31m%}%r is correct? [n,y,a,e]:%{^[[m%} "
[ -n "${REMOTEHOST}${SSH_CONNECTION}" ] &&
PROMPT="%{^[[37m%}${HOST%%.*} ${PROMPT}"
;;
esac
# set terminal title including current directory
#
case "${TERM}" in
kterm*|xterm)
precmd() {
echo -ne "\033]0;${USER}@${HOST%%.*}:${PWD}\007"
}
;;
esac
## プロンプトの設定
typeset -ga chpwd_functions
typeset -ga preexec_functions
function _set_rprompt_git() {
local git_branch
git_branch="${$(git symbolic-ref HEAD 2> /dev/null)#refs/heads/}"
if [ $? != '0' ]; then
RPROMPT=$DEFAULT_RPROMPT
else
RPROMPT="${DEFAULT_RPROMPT}:%{${fg[blue]}%}${git_branch}%{${reset_color}%}"
fi
}
chpwd_functions+=_set_rprompt_git
preexec_functions+=_set_rprompt_git
# ヒストリの設定
HISTFILE=~/.histfile
HISTSIZE=10000
SAVEHIST=10000
# 履歴ファイルに時刻を記録
setopt extended_history
# 補完するかの質問は画面を超える時にのみに行う。
LISTMAX=0
autoload -Uz compinit; compinit
# sudo でも補完の対象
zstyle ':completion:*:sudo:*' command-path /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin
# cdのタイミングで自動的にpushd
setopt auto_pushd
# 複数の zsh を同時に使う時など history ファイルに上書きせず追加
setopt append_history
# 補完候補が複数ある時に、一覧表示
setopt auto_list
# 保管結果をできるだけ詰める
setopt list_packed
# 補完キー(Tab, Ctrl+I) を連打するだけで順に補完候補を自動で補完
setopt auto_menu
# カッコの対応などを自動的に補完
setopt auto_param_keys
# ディレクトリ名の補完で末尾の / を自動的に付加し、次の補完に備える
setopt auto_param_slash
# ビープ音を鳴らさないようにする
setopt no_beep
# 直前と同じコマンドラインはヒストリに追加しない
setopt hist_ignore_dups
# ヒストリにhistoryコマンドを記録しない
setopt hist_no_store
# 余分なスペースを削除してヒストリに記録する
setopt hist_reduce_blanks
# 行頭がスペースで始まるコマンドラインはヒストリに記録しない
# setopt hist_ignore_spece
# 重複したヒストリは追加しない
# setopt hist_ignore_all_dups
# ヒストリを呼び出してから実行する間に一旦編集できる状態になる
setopt hist_verify
# auto_list の補完候補一覧で、ls -F のようにファイルの種別をマーク表示しない
setopt no_list_types
# コマンドラインの引数で --prefix=/usr などの = 以降でも補完できる
setopt magic_equal_subst
# ファイル名の展開でディレクトリにマッチした場合末尾に / を付加する
setopt mark_dirs
# 8 ビット目を通すようになり、日本語のファイル名を表示可能
setopt print_eight_bit
# シェルのプロセスごとに履歴を共有
setopt share_history
# Ctrl+wで、直前の/までを削除する。
WORDCHARS='*?_-.[]~=&;!#$%^(){}<>'
# ディレクトリを水色にする。
export LS_COLORS='di=01;36'
# ファイルリスト補完でもlsと同様に色をつける。
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
# cd をしたときにlsを実行する
function chpwd() { ls }
# ディレクトリ名だけで、ディレクトリの移動をする。
setopt auto_cd
# C-s, C-qを無効にする。
setopt no_flow_control
export TERM=xterm-256color
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment