農学部×Linux

農学部で情報系の勉強をしている人の備忘録。

zshであれこれ1〜エスケープ〜

zshについて勉強したくなったので。

参考にしたページ

漢のzsh (2) 取りあえず、プロンプトを整えておく。カッコつけたいからね | マイナビニュース

このページのこの部分で躓く。

 

ところで、上記設定をコピーして使ってみても、思ったようにはならないはず。「^[[31m/home/daichi%^[[m 」といったプロンプトになってしまうはずだ。これは"^["が実際には「エスケープ」といわれるものだからだ。

なので上記設定を~/.zshrcに書き込んだら、"^["の部分を削除してエスケープに置き換えればいい。

^[をエスケープで置き換えろということなのだが、さっぱり…

 

解決

zshで究極のオペレーションを:第3回 zsh使いこなしポイント即効編 

 

どうやら\eに置き換えて$'…'で囲めば良さそうだ。

 

変更前:PROMPT="%B%{^[[31m%}%/#%{^[[m%}%b "

変更後:PROMPT=$'%B%{\e[31m%}%/#%{\e[m%}%b '

 

とりあえず解決はしたものの、zshの勉強より先にもっと基本的な勉強をしたほうが良さそうだ。

 

ps.SPROMPTの結果が反映されていない。この制御はSPROMPT…の記述ではなくどこか他のところで制御されているようだ。