over 3 years ago

新手一開始在用oh-my-zsh或vim時(包括我在內),常常碰到是設定theme完後,會發現所顯示的顏色效果跟預期的不一致。其原因主要是因為terminal的設定,從StackOverflow別人的發問oh-my-zsh themes don't show properly (background stays white)就可以找到答案:

Short answer: no, zsh can't help you here. You need to change the terminal emulator color settings, not the zsh settings. - answered by simont

你必須調整terminal emulator color settings才能跟theme的screenshot一樣。如果你是使用iTerm2,就可以從Iterm Themes - Color Schemes and Themes for Iterm2網站download下來,在iTerm2裡再import進來即可(在iTerm2裡按Cmd+i選擇Colors > Load Presets > Import)。刪除Iterm Theme則是一樣,最後一步改為Delete Preset...

=== 20141026更新 ===

Cmd+i能讓你馬上看到此color scheme的作用,但關掉iTerm視窗過後就又會回到原本的設定。必需要在Iterm選擇Preferences > Profiles,再設定一次即可。

分享我的設定,iTerm2 (使用Solarized Dark) + zsh + oh-my-zsh (ZSH_THEME="agnoster"),圖如以下


ps: 使用agnoster theme記得要安裝powerline fonts以及在iTerm裡的Text Change Font為powerline所提供的font

但我有點小不滿意的地方是字太擠了和folder的顏色,所以我做了些修改

  1. folder顏色部份,在iTerm裡的Text,取消Draw bold text in bright colors
  2. 字太擠部份,iTerm裡的Text Change Font,將Vertical調整為1.2。另外也修改了.oh-my-zsh/themes/agnoster.zsh-theme,將最後一行從
    ROMPT='%{%f%b%k%}$(build_prompt) '
    
    變為
    ROMPT='
    %{%f%b%k%}$(build_prompt) '
    
    且另存檔名為myagnoster.zsh-theme(避免在更新oh-my-zsh時,發生衝突的情況)結果如下:

隨手附上相關theme的screenshot
oh-zsh-theme: http://zshthem.es/
vim theme: https://code.google.com/p/vimcolorschemetest/

← vim-airline - 狀態列顯示的好幫手 淺談JNDI →
 
comments powered by Disqus