2010/05/21  |  Written by  |  under Blog

rvmを使っていると、「いま何のRubyだっけ」と思うことがあったので、プロンプトに表示するようにしてみました。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
autoload -Uz vcs_info
zstyle ':vcs_info:*' formats '(%s)-[%b]'
zstyle ':vcs_info:*' actionformats '(%s)-[%b|%a]'
precmd () {
    psvar=()

    # for vcs_info
    LANG=en_US.UTF-8 vcs_info
    [[ -n "$vcs_info_msg_0_" ]] && psvar[1]="$vcs_info_msg_0_"

    # for rvm
    [[ -n "$rvm_ruby_string" ]] && psvar[2]="$rvm_ruby_string"

    # for gemset
    ind=$(expr index $GEM_HOME $rvm_gemset_separator)
    if [ $ind -ne 0 ]; then
        length="$(expr length $GEM_HOME)"
        sub_length=`expr $length - $ind + 1`
        gem_spec=`expr substr $GEM_HOME $ind $sub_length`
        [[ -n "$psvar[2]" ]] && psvar[2]="$psvar[2]$gem_spec"
    fi
}
VCS_PROMPT="%1(v|%F{green} %1v%f|)"
RUBY_PROMPT="%2(v| %U%B%F{magenta}(%2v)%f%b%u|)"
PROMPT=$'%{\e[32m%}$LOGNAME@${WINDOW:+"[$WINDOW]"}%B:%b%{\e[m%}[%~]$RUBY_PROMPT$VCS_PROMPT\n%% '

上記のように設定すると下の画像のように表示されます。これでいろいろ迷うことが無くなりました。

追記

rvm-promptというのがあるそうで、それを使えばいろいろ表示できるようになるようです。でもまあせっかくやってみたので、gemsetも表示できるようにしてみました。

 
このエントリーを含むはてなブックマークはてなブックマーク - zshのプロンプトにrvmのRubyを表示する この記事をクリップ!Livedoorクリップ - zshのプロンプトにrvmのRubyを表示する Googleブックマークに追加 Digg This
Tags: , ,

No Responses so far | Have Your Say!

Leave a Feedback

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">