Edited at

Poderosaでoh-my-zshを使うと2行目以降で文字がずれる問題

More than 3 years have passed since last update.


概要

ターミナルソフト「Poderosa」でoh-my-zshの標準テーマであるrobbyrussellを使うと、なぜか2行目に突入すると文字がずれるバグが発生した。


問題

➜  hoge git:(hogehoge) ✗ git checkout hogepiyohogepiyohogepiyohogepiyohogepiyohogepiyohogepiyohogepiyohogepiyohogepiyohogepiyohogepiyohogepiyohoge

ここまで入力して、改行されて2行目に到達し、

➜  hoge git:(hogehoge) ✗ git checkout hoge

ここまで削除しEnterを押下すると、hogepブランチは存在しませんとのエラーが出力される。

つまり2行目に突入するとプロンプトの表示がずれる


解決策

prompt左側の「➜」とprompt右側の「✗」を削除する。

$ vi .oh-my-zsh/themes/robbyrussell.zsh-theme


### 変更前
PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[bl
ue]%} % %{$reset_color%}'

ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}"

### 変更後
PROMPT='%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[bl
ue]%} % %{$reset_color%}'

ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%})%{$reset_color%}"


まとめ

たぶん2byte文字だったから?なんにせよ解決したのでよかった。