nishio-dens's diary

Railsとかプログラミング関連の備忘録

Ubuntu10.04にてGnome-terminalのパス表示を短く表示する方法

前々からUbuntu標準のターミナルはパス表示部分が長すぎて見にくいと思っていた.例えばこんな感じ.

nishio@nishio-pc8:~/Dropbox/Level1/programming/cuda/99bottles$ pwd
/home/nishio/Dropbox/Level1/programming/cuda/99bottles
nishio@nishio-pc8:~/Dropbox/Level1/programming/cuda/99bottles$
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ この部分の表示が長すぎ

もっとCentOSの標準ターミナルみたいにスマートにパスを表示して欲しい.

[nishio@nishio-server2 plugins]$ pwd
/home/nishio/system/aptana/plugins
[nishio@nishio-server2 plugins]$
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ この部分がスマート.

この問題を解決するためにUbuntu日本語フォーラムにて質問したら,いろいろな方が教えてくれた.
gontomoさん,petitbootangさん,mizunoさん,どうもありがとう.

解決方法は2種類あって,一つはzshを使うというものである.
.zshrcにて

RPROMPT="[%{%}%/%{%}]"

を追加し,zshを起動すると次のようにパスが画面右側に表示される.

nishio-pc8% pwd [/home/nishio/Dropbox]

これはすばらしい,がzsh使うとなるとbashのスクリプトが動かなくなる(のかな?)可能性があったので,やっぱりbash使うことにしてしまった.

二つめの方法は.bashrcのPS1を定義しているところの \wを\Wに書き換えるという方法である.
具体的には,.bashrcの以下の部分を変更した.

if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\W\$ '
fi

ちょっとわかりにくいが,PS1=の\Wってなってる部分.もともとは\wであったが,wをWに変更したらパスが次のように表示されるようになった.

nishio@nishio-pc8:99bottles$ pwd
/home/nishio/Dropbox/Level1/programming/cuda/99bottles
nishio@nishio-pc8:99bottles$

うーんすばらしい.