以下は誤解ですが、残しておきます。見出しからして間違えています。完全対応とはまだいえない。ヒストリーの問題も残っています。不思議な仕様だ。
理由は、bashよりzshが日本語文字列の扱いが上だということ。夏頃、5.0になってかなりよくなったので安心して使えます。ヒストリーの日本語文字列が壊れてしまうのが不満ですが(実際は壊れていません)。中国語でも壊れるでしょうね。下記の連載がはじまったころ興味をもったのですがいろいろ自分に合わない部分があったため使うことはありませんでした。(壊れるというのはわたしにとっての話で、さらに4年後に気がついたのですが、emacsならうまい方法があるようです。どなたかperlなどで簡単に一発で変換できるようにしているようなすごい方がいればぜひ教えてください。)
※単なる文字コード変換なら悩みません。
気に入れば、
sudo chsh
で、/bin/zsh に切り替え、ログインシェルとして使うといいかもしれません。
.zshrc
漢のzshやらを拝見させてもらい、次の初期設定から開始しています。要するに自分向け=ビギナー向けです。(たいへんありがたいのですが)漢のはいい意味で変態というか、スーパーユーザー向けで使いにくいので、理解しつつ徐々に簡素にしていくつもりです。基本的に行は減らしただけで同じように使わせてもらっています。追記:2015年2月24日
Linux では、
alias ls="ls --color=auto"
としないと、lsを使った処理が一部うまくいきません。この行のみ訂正したほうよいです。コメントアウトしてもいいかもしれません。これでしばらくいってみる予定です。何か当方が間違っているのかな?!
% cat .zshrc
#users generic .zshrc file for zsh(1)
## Environment variable configuration
# LANG
export LANG=ja_JP.UTF-8
## Default shell configuration
# set prompt
#普通のプロンプトは白 、sudoユーザーは赤。
autoload colors
colors
case ${UID} in
0)
PROMPT="su:%B%{${fg[red]}%}%/ #%{${reset_color}%}%b "
PROMPT2="%B%{${fg[red]}%}%_#%{${reset_color}%}%b "
SPROMPT="%B%{${fg[blue]}%}%r is correct? [n,y,a,e]:%{${reset_color}%}%b "
[ -n "${REMOTEHOST}${SSH_CONNECTION}" ] &&
PROMPT="%{${fg[white]}%}${HOST%%.*} ${PROMPT}"
;;
*)
PROMPT="%{${fg[white]}%}%/ Ɀ%{${reset_color}%} "
PROMPT2="%{${fg[red]}%}%_%%%{${reset_color}%} "
SPROMPT="%{${fg[blue]}%}%r is correct? [n,y,a,e]:%{${reset_color}%} "
[ -n "${REMOTEHOST}${SSH_CONNECTION}" ] &&
PROMPT="%{${fg[white]}%}${HOST%%.*} ${PROMPT}"
;;
esac
# auto change directory
setopt auto_cd
# auto directory pushd that you can get dirs list by cd -[tab]
setopt auto_pushd
# command correct edition before each completion attempt
setopt correct
# compacked complete list display
setopt list_packed
# no remove postfix slash of command line
setopt noautoremoveslash
# no beep sound when complete list displayed
setopt nolistbeep
## Keybind configuration
# emacs like keybind (e.x. Ctrl-a goes to head of a line and Ctrl-e goes
# to end of it)
#
bindkey -e
# historical backward/forward search with linehead string binded to ^P/^N
#
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
bindkey "\\ep" history-beginning-search-backward-end
bindkey "\\en" history-beginning-search-forward-end
## Command history configuration
HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
setopt hist_ignore_dups # ignore duplication command history list
setopt share_history # share command history data
## Completion configuration
autoload -U compinit
compinit
## Alias configuration
#
# expand aliases before completing
#
setopt complete_aliases # aliased ls needs if file/dir completions work
alias where="command -v"
alias j="jobs -l"
case "${OSTYPE}" in
freebsd*|darwin*)
alias ls="ls -G -w"
;;
linux*)
alias ls="ls --color=auto"
;;
esac
alias la="ls -a"
alias lf="ls -F"
alias ll="ls -l"
alias du="du -h"
alias df="df -h"
#alias su="su -l"
alias disks="gnome-disks"
alias gd="gnome-disks"
#alias xx=""
## load user .zshrc configuration file
#[ -f ~/.zshrc.mine ] && source ~/.zshrc.mine