2009年9月1日火曜日

my .zshrc

tips参考にしたものは情報もとをのこしたい。
なんでこんな設定したのかわすれるので。

~/.zsh
`-- func
|-- _gisty
|-- prompt_wunjo_setup
`-- zgitinit

1 directory, 3 files


# Basic settings
export LANG=ja_JP.UTF-8
bindkey -e
## Complete
zstyle ':completion:*' format '%BCompletion %d%b'
zstyle ':completion:*' group-name ''
autoload -U compinit && compinit
## History
HISTFILE=$HOME/.zsh-history
HISTSIZE=100000
SAVEHIST=100000
bindkey '^p' history-beginning-search-backward
bindkey '^n' history-beginning-search-forward
## Prompt
case ${UID} in
0)
PROMPT="[%{${fg[blue]}%}%n@%m%{${reset_color}%}] %{${fg[green]}%}%{${reset_color}%} "
PROMPT2="%B%{${fg[blue]}%}%_%{${reset_color}%}%b "
SPROMPT="%B%{${fg[blue]}%}%r is correct? [n,y,a,e]:%{${reset_color}%}%b "
RPROMPT="%{${fg[green]}%}[%/]%{${reset_color}%}"
;;
*)
# Color
autoload colors
colors
DEFAULT=$'%{\e[1;0m%}'
RESET="%{${reset_color}%}"
GREEN="%{${fg[green]}%}"
BLUE=$'%{\e[1;35m%}'
RED="%{${fg[red]}%}"
CYAN="%{${fg[cyan]}%}"
#PROMPT="[%n@%m] %{${fg[blue]}%}%{${reset_color}%} "
#PROMPT2="%B%{${fg[blue]}%}%_%{${reset_color}%}%b "
#SPROMPT="%B%{${fg[blue]}%}%r is correct? [n,y,a,e]:%{${reset_color}%}%b "
#RPROMPT="%{${fg[green]}%}[%/]%{${reset_color}%}"
#
nprom () {
setopt prompt_subst
local rbase=$'%{\e[33m%}[%~]%{\e[m%}' lf=$'\n'
local pct=''
#local pct=$'%0(?||%18(?||%{\e[31m%}))%#%{\e[m%}'
#RPROMPT="%9(~||$rbase)"
case "$USER" in
yatex) PROMPT=$'%{\e[33m%}%U%m{%n}%%%{\e[m%}%u ' ;;
java) PROMPT=$'%{\e[36m%}%U%m{%n}%%%{\e[m%}%u ' ;;
*)
local pbase=$'%{\e[$[32+RANDOM%5]m%}%U%B%m{%n}%b'"$pct%u "
PROMPT="%1(~|$rbase$lf|)$pbase"
;;
esac
[[ "$TERM" = "screen" ]] && RPROMPT="$d$s$t$s$p$g"
}
nprom
# Show git branch when you are in git repository
# http://blog.s21g.com/articles/1159
_set_env_git_current_branch() {
GIT_CURRENT_BRANCH=$( git branch 2> /dev/null | grep '^\*' | cut -b 3- )
}
_update_rprompt () {
if [ "`git ls-files 2>/dev/null`" ]; then
RPROMPT="${CYAN}git[branch:$GIT_CURRENT_BRANCH]}"
else
RPROMPT="" #"%{${fg[green]}%}[%/]%{${reset_color}%}"
fi
}
precmd()
{
_set_env_git_current_branch
_update_rprompt
}
chpwd()
{
_set_env_git_current_branch
_update_rprompt
}
;;
esac
#コアダンプサイズを制限
limit coredumpsize 102400
#出力の文字列末尾に改行コードが無い場合でも表示
unsetopt promptcr
#色を使う
setopt prompt_subst
setopt nobeep
#内部コマンド jobs の出力をデフォルトで jobs -l にする
setopt long_list_jobs
# 補完候補リストを詰めて表示
setopt list_packed
setopt correct
#補完候補一覧でファイルの種別をマーク表示
setopt list_types
#サスペンド中のプロセスと同じコマンド名を実行した場合はリジューム
setopt auto_resume
#補完候補を一覧表示
setopt auto_list
#pbcopy/pbpasteでUTF-8を使う
export __CF_USER_TEXT_ENCODING=${__CF_USER_TEXT_ENCODING/:*:/:0x08000100:}
# 関数
find-grep () { find . -type f -print | xargs grep -n --binary-files=without-match $@ }
# less
export LESS='--tabs=4 --no-init --LONG-PROMPT --ignore-case'
## Alias & function
setopt complete_aliases
# ls
case "${OSTYPE}" in
freebsd*|darwin*)
alias ls="ls -G -w"
;;
linux*)
alias ls="ls --color=auto"
;;
esac
# other
alias rm='rmtrash'
alias l='ls -F'
alias la="ls -la"
alias ll='ls -ltr'
alias vi='vim'
alias gd='dirs -v; echo -n "select number: "; read newdir; cd +"$newdir"'
alias here='open .'
alias clip='nkf -w | pbcopy'
alias s="screen -U"
alias ctags='ctags -a -f .tags'
alias g=git
alias tree.='tree `pwd`'
alias p='sudo port'
h(){history $* | less}
mdcd(){mkdir -p "$@" && cd "$*[-1]"}
#Linux コマンド: - MiYaTai - Wiki http://www.ai.cs.scitec.kobe-u.ac.jp/~taiki/index.php?Linux%20%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%3A
alias pbcopy="xclipboard -selection clipboard"
alias pbpaste="xclipboard -selection clipboard -o"
# python-pip
alias pip="sudo pip --log=/var/log/python-pip.log"
# 履歴ファイルに時刻を記録
setopt extended_history
# 補完するかの質問は画面を超える時にのみに行う。
LISTMAX=0
# sudoも補完の対象
zstyle ':completion:*:sudo:*' command-path $HOME/local/bin /opt/local/bin /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin
# 色付きで補完する
zstyle ':completion:*' list-colors di=34 fi=0
# cdのタイミングで自動的にpushd
setopt auto_pushd
# 複数の zsh を同時に使う時など history ファイルに上書きせず追加
setopt append_history
# 補完候補が複数ある時に、一覧表示
setopt auto_list
# 補完キー(Tab, Ctrl+I) を連打するだけで順に補完候補を自動で補完
setopt auto_menu
# カッコの対応などを自動的に補完
setopt auto_param_keys
# ディレクトリ名の補完で末尾の / を自動的に付加し、次の補完に備える
setopt auto_param_slash
# 直前と同じコマンドラインはヒストリに追加しない
setopt hist_ignore_dups
#最後のスラッシュを自動的に削除しない
setopt noautoremoveslash
# 重複したヒストリは追加しない
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}
# ディレクトリ名だけで、ディレクトリの移動をする。
setopt auto_cd
# C-s, C-qを無効にする。
setopt NO_flow_control
###functions###
# cd をしたときにlsを実行する
function chpwd() { ls }
function find-grep () { find . -type f -print | xargs grep -n --binary-files=without-match $@ }
## Screen
# termがscreenじゃなかったらattachを試し、ダメだったらnew screen
#[ "$TERM" = "screen" ] || screen -rx || screen -D -RR
#if [ "$TERM" != "screen" ]; then
# exec screen -S main -xRR
#fi
## 今使っているコマンドをwindow titleにする
if [ "$TERM" = "screen" ]; then
precmd(){
screen -X title $(basename $(print -P "%~"))
}
fi
# EmacsのM-x shellでzshを使う設定 - (rubikitch loves (Emacs Ruby CUI))
# http://d.hatena.ne.jp/rubikitch/20081102/1225601754
[[ $EMACS = t ]] && unsetopt zle
# zsh-git
# jcorbin's zsh-git at master - GitHub http://github.com/jcorbin/zsh-git/tree/master
fpath=($fpath $HOME/.zsh/func)
typeset -U fpath
# if [ $TERM = "rxvt-256color" ]; then
# preexec () {
# local -a cmd; cmd=(${(z)2})
# echo -n "^[k$cmd[1]:t^[\\"
# }
#fi
# 特定のコマンドをヒストリに追加しない
# http://d.hatena.ne.jp/mollifier/20090728/p1
zshaddhistory() {
local line=${1%%$'\n'}
local cmd=${line%% *}
# 以下の条件をすべて満たすものだけをヒストリに追加する
[[ ${#line} -ge 5
&& ${cmd} != (l|l[sal])
&& ${cmd} != (c|cd)
&& ${cmd} != (m|man)
]]
}
psgrep(){
ps aux | grep $1
}
# Gisty
GISTY_DIR=$HOME/.gist.d
## load local settings
if [ -f ~/.zshrc.local ]; then
source $HOME/.zshrc.local
fi
### thanks
# http://github.com/suztomo/dotfiles/blob/1051cf2b8779b1f5f7e5131e0f0dee6853acebf6/.zshrc
# http://gihyo.jp/dev/serial/01/zsh-book
# http://d.hatena.ne.jp/mollifier/
# vimiminsert=0 ft=zsh:
view raw .zshrc hosted with ❤ by GitHub

0 件のコメント:

コメントを投稿