[HOME]: [Mac OS X]: [MacPython]: [Emacs]: [生存報告記]: [MacEmacs JP Project]: [NTEmacs JP Project]:

Differences between revisions 80 and 81

Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
以下はやや古いバージョン。このままだとうまく動作しないかも。。

{{{
# ~/.zshrc
# $Id$
#
#-----------------------------------------------------------------
# 基本設定
#-----------------------------------------------------------------
WORDCHARS="*?_-.[]~=&;\!#$%^(){}<>"
HISTSIZE=4096
HISTFILE=/Users/sakito/var/zsh/zsh_history
SAVEHIST=4096
umask 022

#-----------------------------------------------------------------
# 環境変数
#-----------------------------------------------------------------
# setup shell dir
SHELL=/usr/local/bin/zsh
export SHELL

PREFIX=/usr/local
export PREFIX

#EXEC_PREFIX=/usr/local/bin
#export EXEC_PREFIX

# fink setting
source /sw/bin/init.sh

# set path
PATH=/usr/local/bin:/bin:/usr/local/sbin:$PATH:/usr/sbin
export PATH

export TMP="$HOME/tmp"
export EDITOR="/usr/local/bin/emacsclient"
#export LANG=ja_jp.EUC
#export LC_all=ja_jp.EUC
#export JLESSCHARSET=japanese-sijs
#export LESSCHARSET=japanese-sjis
export LESS='-c -m -x4'
export PAGER=less

#CLASSPATH
export CLASSPATH=${CLASSPATH}:.

#CC setting
export CC=cc

TZ=JST
export TZ

# set man command env.
export MANPATH=/usr/bin/man:/usr/local/man:/usr/share/man:/sw/man
export MANPAGER=/usr/bin/less
export MANWIDTH=80

# configure less for our prefss ...
export LESS="-isnMCd"
export LESSCHARSET="latin1"
export LESSCHARDEF=8bcccbcc18b95.33b33b.
export LESSBINFMT='*n-'

# for cvs
CVSROOT=$HOME/var/cvs
export CVSROOT
 
#-----------------------------------------------------------------
# 非端末プロセスなら終了
#-----------------------------------------------------------------
#
# スクリプトとして起動された場合、ここでプロセスが終了する。
#
[ $#PROMPT -eq 0 -o $#TERM -eq 0 ] && return

#-----------------------------------------------------------------
# プロンプト
#-----------------------------------------------------------------
# ユーザ名・ホスト名を左プロンプト表示、カレントディレクトリ名は
# 右プロンプト表示する。日本語のディレクトリ名も表示できるように、
# precmd() を使って毎回設定しなおしてみた。
#
#PROMPT="%B%n@%m[%(?.%!.ERROR:%?)]%b%% "
#precmd() { RPROMPT="[$PWD]" }
PROMPT="[%(?.%!.ERROR:%?)]%b%% "
precmd() { RPROMPT="[$PWD]" }

#-----------------------------------------------------------------
# シェル変数設定
#-----------------------------------------------------------------
#
# シェルの基本的な動作を変更するスイッチは、ほぼシステム非依存。
# 基本的なシェル変数と動作設定は以下の通り。
#
setopt always_last_prompt # 無駄なスクロールを避ける
setopt append_history # ヒストリファイルに追加
setopt auto_list # 自動的に候補一覧を表示
setopt auto_menu # 自動的にメニュー補完する
#setopt auto_name_dirs # "~$var" でディレクトリにアクセス
setopt auto_param_keys # 変数名を補完する
setopt auto_remove_slash # 接尾辞を削除する
setopt bang_hist # csh スタイルのヒストリ置換
setopt brace_ccl # {a-za-z} をブレース展開
setopt cdable_vars # 先頭に "~" を付けたもので展開
setopt complete_in_word # 語の途中でもカーソル位置で補完
setopt complete_aliases # 補完動作の解釈前にエイリアス展開
setopt extended_glob # "#", "~", "^" を正規表現として扱う
setopt extended_history # 開始/終了タイムスタンプを書き込み
#setopt hist_verify # ヒストリ置換を実行前に表示
#setopt glob_dots # "*" にドットファイルをマッチ
setopt hist_ignore_dups # 直前のヒストリと全く同じとき無視
setopt hist_ignore_space # 先頭がスペースで始まるとき無視
setopt list_types # ファイル種別を表す記号を末尾に表示
setopt magic_equal_subst # "val=expr" でファイル名展開
#setopt menu_complete # 一覧表示せずに、すぐに最初の候補を補完
setopt multios # 複数のリダイレクトやパイプに対応
setopt numeric_glob_sort # ファイル名を数値的にソート
setopt noclobber # リダイレクトで上書き禁止
#setopt no_beep # ベルを鳴らさない
#setopt no_check_jobs # シェル終了時にジョブをチェックしない
setopt no_flow_control # C-s/C-q によるフロー制御をしない
setopt no_hup # 走行中のジョブにシグナルを送らない
setopt no_list_beep # 補完の時にベルを鳴らさない
setopt notify # ジョブの状態をただちに知らせる
setopt prompt_subst # プロンプト内で変数展開
setopt pushd_ignore_dups # 重複するディレクトリを無視
setopt rm_star_silent # "rm * " を実行する前に確認
setopt sun_keyboard_hack # 行末の "` (バッククウォート)" を無視
setopt sh_word_split # 変数内の文字列分解のデリミタ
setopt histallowclobber # ">" を ">!" としてヒストリ保存
setopt printeightbit # 8ビットクリーン表示 (Zsh 4.3以上で正常動作?)

# 補完時に無視するファイルの種類
fignore=(.o .dvi .aux .log .toc - \~)

#-----------------------------------------------------------------
# エイリアス設定
#-----------------------------------------------------------------
#
# UNIX コマンドと Windows 固有のシステムコマンドと区別するために
# 絶対パス指定したり、よく使うコマンドに短い別名を登録したりとか。
# 引数をとるエイリアスは、簡易関数で定義する必要がある点に注意。
#
# tcsh% alias m "mule !* &" → zsh% m() { mule $* & }
#
alias ls='ls -Fa'
alias ll='ls -lF'
alias h='history 20'
alias more='less'
alias rm='echo not'
#alias which='type -path'
alias rehash='hash -r'
#alias rmdir='rm -rf'
alias s=source
alias x=start
alias j=jobs
alias reload="source ~/.zshrc"

#-----------------------------------------------------------------
# キーバインド設定
#-----------------------------------------------------------------
#
# ほぼシステム非依存なので、特に変更する必要なし。
#
bindkey -e
bindkey '^/' undo
bindkey '^g' undo
bindkey '^q' push-line
bindkey '^w' kill-region
bindkey '^i' expand-or-complete
bindkey '^d' delete-char-or-list
bindkey '^j' reverse-menu-complete
bindkey '^n' history-search-forward
bindkey '^p' history-search-backward
bindkey '^r' copy-prev-word
bindkey ' ' magic-space

#-----------------------------------------------------------------
# 補完ルール設定
#-----------------------------------------------------------------
#
# 必要に応じて追加すると良い。基本的な設定は以下の通り。
#
compctl -D -f
compctl -C -c -f + -E -q -S '='
compctl -caF whence which
compctl -b bindkey
compctl -o setopt unsetopt
compctl -a shift
compctl -F unfunction
compctl -a unalias alias
compctl -e disable
compctl -d enable
compctl -v typeset vared unset export
compctl -v unset typeset declare vared readonly integer
compctl -g '(|.)*(-/)' cd chdir dirs pushd dircmp
compctl -g '(|.)*(-/)' rd mdcd mkdir
compctl -g '*(/)' rmdir dircmp
compctl -j -P % fg bg wait jobs disown
compctl -l '' -x 'p[1]' -f -- . source
compctl -l '' nohup exec nice eval trap time fep
compctl -l '' -x 'p[1]' -b -- builtin
compctl -f -x 'r[-*d,^*]' -g '(|.)*.(gz|z|z) (|.)*(-/)' + -g '(|.)*(-/)' -- gzip
compctl -g '*.gz *.z *.z' + -g '(|.)*(-/)' gunzip
compctl -g '*.f' + -g '(|.)*(-/)' melt fcat
compctl -g '*.z' + -g '(|.)*(-/)' uncompress zmore
compctl -f -x 'p[1,2]' -g "*(-/) *.[ll][zz][hh] *.[ee][xx][ee]" -- lha lhp
compctl -f -x 'p[1]' -g "*(-/) *.[aa][rr][cc]" -- arc
compctl -f -x 'p[1,2]' -g "*(-/) *.[zz][ii][pp]" -- zip unzip
compctl -f -x 'p[1,2]' -g "*(-/) *.[aa][rr][jj]" -- unarj
compctl -g "*(-/) *.(z|z|gz)" zmore zless zgrep zcmp
compctl -f -x \
        'p[1]' -k '(tvzf cvzf xvzf)' - \
        's[--]' -k "(atime-preserve remove-files exclude help)" - \
        'c[-1,*z*] p[2]' -g "*.tar.(z|z|gz) *.taz *.tgz (|.)*(-/)" - \
        'c[-1,*f*] p[2]' -g "*.tar (|.)*(-/)" -- gtar tar

#-----------------------------------------------------------------
# システム別設定
#-----------------------------------------------------------------

#-----------------------------------------------------------------
# ローカル設定の読み込み
#-----------------------------------------------------------------
[ -f ~/.zshrc.local ] && source ~/.zshrc.local

echo Now zsh version $ZSH_VERSION start!

# 端末をクリアして終了
#builtin cls
# end of ~/.zshrc
#=================================================================
}}}

紹介マニアMoinMoin: Zshrc (last edited 2012-08-04 23:21:10 by sakito)