なんでこんな設定したのかわすれるので。
~/.zsh
`-- func
|-- _gisty
|-- prompt_wunjo_setup
`-- zgitinit
1 directory, 3 files
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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: |
0 件のコメント:
コメントを投稿