FontConfig, Zsh compilation, Zsh prompt
zsh
- TOP
- Old Archives
- FontConfig, Zsh compilation, Zsh prompt
FontConfig
うまく動かないといっていたlocal.conf及びUser configだが、どうも/etc/fonts/conf.d/
のリンクをmvして戻すと有効になるようだ。理由はわからず、競合するリンクを削除しても変わらない。
また、それでもなぜかUserに対してのserifだけが適用されない。謎だ。
Zsh Compilation
以下の設定を追加してみた。
# Complation
options setopt auto_menu setopt glob_complete setopt auto_list setopt
list_beep setopt list_types setopt rec_exact menu_complete
menu_complete
は使いにくかったのでやめた。
Zsh Prompt
Momonga Linuxのzshrcサンプルを流用していて、これが結構いかしたプロンプトなのだが、Manjaroのetc版と比べてGitが有効になっていないので、有効にすると同時にちょっといじってみた。
zshのプロンプトにgitのステータスをシンプル可愛くを参考にしたのだが、これをそのまま追加するとRPROMPT
と競合してしまう。どうやら、プロンプトの設定自体を動的に行うとRPROMPT
の文字数が計算できなくなるようだ。
RPROMPT
込みで流用できるのはきたけーさんのブログ
だが、これだと情報量が少ない。
そこでこれを合体させ、さらに色使いを変更し、終了ステータスで変更するのをプロンプト全体ではなくプロンプト($
)のみにした。
## prompt # USER --> # For git. I referred http://kitak.hatenablog.jp/entry/2013/05/25/103059 and http://yoshiko.hatenablog.jp/entry/2014/04/02/zshのプロンプトにgitのステータスをシンプル可愛く. Thank you. # VCSの情報を取得するzshの便利関数 vcs_infoを使う autoload -Uz vcs_info # 表示フォーマットの指定 # %b ブランチ情報 # %a アクション名(mergeなど) zstyle ':vcs_info:*' formats '[%b]' zstyle ':vcs_info:*' actionformats '[%b|%a]' precmd () { psvar=() LANG=en_US.UTF-8 vcs_info if [[ -n "$vcs_info_msg_0_" ]] then psvar[1]="$vcs_info_msg_0_" if [[ -n "$vcs_info_msg_1_" ]] then psvar[2]="$vcs_info_msg_1_" elif [[ -n "$vcs_info_msg_2_" ]] then psvar[2]="$vcs_info_msg_2_" elif [[ -n `echo "$st" | grep "^Untracked"` ]] then psvar[2]="Untracked" else psvar[2]="Clean" fi fi } # バージョン管理されているディレクトリにいれば表示,そうでなければ非表示 #RPROMPT="%1(v|%F{green}%1v%f|)" # <-- USER PROMPT='%F{cyan}[%n@%m${WINDOW:+[$WINDOW]} %.] %1(v|%F{yellow}%1v|)%2(v|(%2v) |)%{%(?.$fg[green].$fg[red])%}%(!.#.$)%{$reset_color%} ' RPROMPT=[%~] SPROMPT='zsh: replace '\''%R'\'' to '\''%r'\'' ? [Yes/No/Abort/Edit] '
結構イケる。