スキップしてメイン コンテンツに移動

投稿

ラベル(zsh)が付いた投稿を表示しています

zshの構成: ファイル構成

  zshはsh用のスクリプトに上位互換である.このため,私は次に述べる方針で設定ファイルを記述している.すなわち,基本的な設定はshのものを使用し,zsh特有の設定ファイルを別に設ける.これにより,shとzshの設定を限りなく近づけることができる.   私のzshの設定ファイルの構成を以下に示す. alias.sh: エイリアスを設定する. env.sh: 環境変数を設定する. misc.sh: その他の設定をおこなう. misc.zsh: zsh特有の設定をおこなう.   ディレクトリ構成は次のようにしている. ~/ lib/ conf/ shell/ sh/ dot.profile alias.sh env.sh misc.sh ~/ lib/ conf/ shell/ zsh/ misc.zsh

zshの設定: dot.zshrc

dot.zshrc   zshの起動時に読み込まれるスクリプトである. #!/bin/zsh os_rev=`uname` source ${HOME}/lib/conf/shell/sh/alias.sh source ${HOME}/lib/conf/shell/sh/env.sh source ${HOME}/lib/conf/shell/sh/misc.sh source ${HOME}/lib/conf/shell/zsh/misc.zsh os_rev=   多くはshの設定ファイルを利用できる.shとは異なる設定は,全てmisc.zshに記述している.

zshの設定: misc.zsh

misc.zsh   shに無い,zsh特有の設定について記述している.   以下の,全ての「^[」は,手動でコントロールシーケンスに書き換えて利用すること.emacsであれば,"C-qC-["と入力すればよい. #!/bin/zsh # history search bindkey ^P history-search-backward bindkey ^N history-search-forward # emacs keybind bindkey -e case ${UID} in 0) PROMPT="%B%{^[[31m%}[%n@%m]#%{^[[m%}%b " RPROMPT="%B%{^[[31m%}[%~]%{^[[m%}%b" PROMPT2="%B%{^[[31m%}%_#%{^[[m%}%b " SPROMPT="%B%{^[[31m%}%r is correct? [n,y,a,e]:%{^[[m%}%b " # [ -n "${REMOTEHOST}${SSH_CONNECTION}" ] && # PROMPT="%{^[[36m%}${HOST%%.*}:${PROMPT}" ;; *) PROMPT="%{^[[36m%}%n@%m%%%{^[[m%} " RPROMPT="%{^[[36m%}[%~]%{^[[m%}" PROMPT2="%{^[[36m%}%_> %{^[[m%} " SPROMPT="%{^[[36m%}%r is correct? [n,y,a,e]:%{^[[m%} " # [ -n "${REMOTEHOST}${SSH_CONNECTION}" ] && # PROMPT="%{^[[36m%}${HOST%%.*}:${PROMPT}" ;; esac setopt auto_pushd seto...