̃Gg[͂ĂȃubN}[Nɒlj

Unix :: zsh / .zshrcの必須設定



ミスタイプによる意図しないログアウト防止

setopt IGNOREEOF

Ctrl-D でログアウトさせない(ミスタイプによる意図しないログアウト防止)
ただし、10回連続で Ctrl-D すると ログアウトする


umask の設定

umask 002

複数の開発者同士で開発を行う上では必須。
umask しておかないと、同グループの開発者に迷惑をかけてしまう。
どういう迷惑かというと、

  1. 自分が作成したファイルを他の開発者が更新できない
  2. 自分が作成したディレクトリ配下に他の開発者がファイルを作成できない

もちろん、ファイル・ディレクトリ作成時にその都度 chmod すればいいが、面倒だし絶対忘れる。
「umask 002」を定義しておけば、新規作成ファイルのパーミッションは 664 、新規作成のディレクトリは 755 になるので、 同グループのユーザの読み書きが可能になる。


先頭マッチのヒストリサーチ(進む)

bindkey '^P' history-beginning-search-backward

過去に実行したコマンドの先頭の一部を入力して、すかさず「Ctrl-P」


先頭マッチのヒストリサーチ(戻る)

bindkey '^N' history-beginning-search-forward

「Ctrl-P」で行き過ぎたら「Ctrl-N」


Ctrl-W

WORDCHARS='*?_-.[]~=&;!#$%^(){}<>'

パス指定の場合は全部消さずに「/」を単語の区切りとしてバックスペースした方が便利


TAB 補完時に大文字小文字無視

compctl -M 'm:{a-z}={A-Z}'


常に最後の行のみ右プロンプトを表示する

setopt transient_rprompt


まぁ一応

alias rm="rm -i"
alias cp="cp -i"
alias mv="mv -i -v"


grep でヒットした文字列を強調

alias grep="grep --color"


pstree の文字化け対策

alias pstree="pstree -A"


less 使うなら

export LESS='--tabs=4 --no-init --LONG-PROMPT --ignore-case'


mysql 使うなら

alias mysql="mysql --pager='less -S'"
export MYSQL_PS1='\u@\h[\d]> '


2階層のぼるは ....

alias -g ....="../.."


3階層のぼるは ......

alias -g ......="../../.."



unix/zsh/zshrc.txt