1 に答える
あなたはこれを持っています:
if which rvm-prompt &> /dev/null; then
if [ $(rvm-prompt i v g s) != "system" ]; then
rvm_ruby='%{$PR_RED%}‹$(rvm-prompt i v g s)›%{$PR_NO_COLOR%}'
fi
else
# We don't have `rvm-prompt`, try using `rbenv` instead.
fi
これが実際に何をしているのか見てみましょう。新しいターミナルを開くとzsh
、~/.zshrc
. あなたの~/.zshrc
で、あなたは をsource
ing していtheme
ます。したがって、zsh
ロードすると、行った編集が実行されます。
最初にチェックするのは、 [builtin]rvm-prompt
を使用して検索できるかどうかです。これは、(の場合は続行) をチェックすることによって行われます。(見つからないことは別の問題であり、この回答とは実際には関係ありません)。zsh
which
return code
which
0
rvm-prompt
が見つかった場合は、編集を使用して、の出力が であるrvm-prompt
かどうかを調べます。そうではないので、への呼び出しを含むように設定します。rvm-prompt i v g s
system
$rvm_ruby
rvm-prompt
次に、zsh
テーマのロードを続行し、最終的に終了して、への呼び出しを含む$PROMPT
一連のものに設定します。テーマロジックを再検討しないことを覚えておくと非常に便利です! (そのため、編集後に必要です)!rvm-prompt
zsh
source ~/path/to/theme
だから問題は何ですか?on shell startuprvm-prompt
と言わなければ、プロンプトの残りのセッションでからの出力を使用 します。(システムの場合、プロンプトにインジケーターは表示されません...空白のままになっているためです! )。system
rvm-prompt
rvm-prompt
rvm
rvm_ruby
何が起こっているのかを理解したので、修正に取り組むことができます。私が考えることができる2つのアプローチがあります。
1.system
プロンプトから次の単語を削除します。
if which rvm-prompt &> /dev/null; then
rvm_ruby='%{$PR_RED%}‹$(rvm-prompt i v g s | sed -e "s/system//")›%{$PR_NO_COLOR%}'
else
# We don't have `rvm-prompt`, try using `rbenv` instead.
fi
<>
これは機能しますが、次の場合にプロンプトに(赤) が表示さrvm-prompt
れsystem
ます。
╭─@charmander.local ~ ‹ruby-1.9.3›
╰─ rvm default
╭─@charmander.local ~ ‹ruby-1.9.3›
╰─ rvm use system
Now using system ruby.
╭─@charmander.local ~ ‹›
╰─
これは便利かもしれません。イライラすると思います。
2.よりスマートに使用する$PROMPT
:関数を書く。
あなたのtheme
:
function current_rvm() {
if which rvm-prompt &> /dev/null; then
if [ $(rvm-prompt i v g s) != "system" ]; then
# The double quotes make it work, single quotes do not work.
echo "%{$PR_RED%}‹$(rvm-prompt i v g s)›%{$PR_NO_COLOR%}"
else
# `rvm-prompt` is `system`
echo ''
fi
else
# We don't have `rvm-prompt`, try using `rbenv` instead.
fi
}
local rvm_ruby='$(current_rvm)'
これはあなたにとってうまくいくはずです:
╭─@charmander.local ~ ‹ruby-1.9.3›
╰─ rvm use system
Now using system ruby.
╭─@charmander.local ~
╰─ rvm use default
Using /Users/simont/.rvm/gems/ruby-1.9.3-p362
╭─@charmander.local ~ ‹ruby-1.9.3›
╰─