在 Mac OS X 终端里使用 Solarized 配色方案

相信长期浸泡在终端和代码的小伙伴们都有一套自己喜爱的配色方案。以前一直在用简单、适合阅读的 Terminal.app 配色方案换到 MacBook Pro with Retina display 后发现这个配色时间看长了眼睛有点累。不断有人推荐 Solarized,看了一些截图,感觉还不错,决定试一下。

Solarized 是目前最完整的 Terminal/Editor/IDE 配色项目,几乎覆盖所有主流操作系统(Mac OS X, Linux, Windows)、编辑器和 IDE(Vim, Emacs, Xcode, TextMate, NetBeans, Visual Studio 等),终端(iTerm2, Terminal.app, Putty 等)。类似的项目还有 Tomorrow Theme.

要在 Mac OS X 终端里舒服的使用命令行(至少)需要给3个工具配色,terminal、vim 和 ls. 首先下载 Solarized:

$ git clone git://github.com/altercation/solarized.git

Terminal/iTerm2

Mac OS X 自带的 Terminal 和免费的 iTerm2 都是很好用的工具,iTerm2 可以切分成多窗口,更方便一些。

如果你使用的是 Terminal 的话,在 solarized/osx-terminal.app-colors-solarized 下双击 Solarized Dark ansi.terminal 和 Solarized Light ansi.terminal 就会自动导入两种配色方案 Dark 和 Light 到 Terminal.app 里。

如果你使用的是 iTerm2 的话,到 solarized/iterm2-colors-solarized 下双击 Solarized Dark.itermcolors 和 Solarized Light.itermcolors 两个文件就可以把配置文件导入到 iTerm 里。

Vim

Vim 的配色最好和终端的配色保持一致,不然在 Terminal/iTerm2 里使用命令行 Vim 会很别扭:

$ cd solarized
$ cd vim-colors-solarized/colors
$ mkdir -p ~/.vim/colors
$ cp solarized.vim ~/.vim/colors/

$ vi ~/.vimrc
syntax on
set background=dark
colorscheme solarized

iterm2 and solarized

ls

Mac OS X 是基于 FreeBSD 的,所以一些工具 ls, top 等都是 BSD 那一套,ls 不是 GNU ls,所以即使 Terminal/iTerm2 配置了颜色,但是在 Mac 上敲入 ls 命令也不会显示高亮,可以通过安装 coreutils 来解决(brew install coreutils),不过如果对 ls 颜色不挑剔的话有个简单办法就是在 .bash_profile 里输出 CLICOLOR=1:

$ vi ~/.bash_profile
export CLICOLOR=1

vim and solarized

评论 (41 Comments)

  1. mkdir -p .vim/colors,这个地方有点小错误.mkdir -p ~/.vim/colors

  2. @JackyTang
    fixed. thanks:)

  3. mac不用zsh浪费了啊。

    zsh + oh-my-zsh + powerline一套

    oh-my-zsh的主题会对LS_COLORS做高亮的,也可以自己定制下

  4. 用了brew coreutils里自带的gls,反而显示不出颜色,不知道是什么原因

  5. Terminal + tmux的学生党路过

  6. mac 自带的 ls ,用 ls -G 也可以的。

  7. 你好,我双击安装了终端的配色方案,为什么每次开启终端还是白底黑字?

  8. 知道了,没默认!呵呵

  9. 怎么设置默认

  10. 赞博主~~

  11. 赞博主,请问下截图代码里用的什么字体?

  12. @ydzhang
    Source Code Pro

  13. @vpsee 非常感谢!

  14. 没看明白

  15. 第一步的git下载后,安装到哪里了?

  16. 求问怎么设置默认啊?

  17. @a652 @godyZ

    在 iTerm 上设置默认:
    iTerm -> Preferences -> Profiles -> 左下角 Other Actions … -> Set as Default

    在 Terminal 上设置默认:
    Terminal -> Preferences … -> Profiles -> 左边框下面 Default

  18. 为什么按照步骤安装之后,普通用户完成配色(背景色,ls , vim ),但是切换到root 之后,ls 和vim都没有配色?

  19. 楼主好人

  20. 从哪里进去改啊 找不到地方

  21. root的在/etc/profile里面改

  22. 照着上面的做了,其他都对了,但是我的vi的背景颜色不对,求解

  23. 哎哟,~/.vimrc 我在终端上没找到这个文件啊啊啊啊。

  24. @birkhoff
    没有的话自己创建一个就可以了。

  25. 配置后, terminal的背景和vim的背景不同, vim的背景颜色有问题, 怎么回事呢

  26. @solomon
    需要在 vim 配置文件 .vimrc 里加上:
    set background=dark
    colorscheme solarized

  27. 为什么感觉iterm2引入solarized dark之后就是灰蒙蒙的一片,一点颜色木有呀。。。

  28. vim下背景颜色有问题,可以参阅solarized/vim-colors-solarized/doc/solarized.txt,有两个参数设置相关:solarized_termcolors solarized_termtrans,具体解释文档中说明。
    不同参数试试,总有一款适合你!

  29. iTerm2 – Preferences – Profiles – Text – Text Rendering,将 Draw bold text in bright colors 前面的勾去掉. 然后重启 iterm2 看看.

  30. 楼上的方法可行!太赞了

  31. really good. appreciate!

  32. 太赞了,亲测可行!

  33. 大赞、、亲测好用

  34. vim无法正常的使用,会有一层朦朦的背景色 参考http://daimin.github.io/posts/iterm2-vim-solarized-shiyong.html

  35. 为什么Mac安装 coreutils 之后ls还是不高亮?直接brew install coreutils安装之后还要其他设置吗

  36. 同问35楼,我这也不高亮

  37. 非常感谢你的博文带给我的帮助

  38. 很棒的教程!2017年11月12日亲测mac依然可用!
    不过遇到两个问题
    1.mac终端里面vim设置完成不显示,把syntax enable改成syntax on就可以了
    2.brew的coreutils安装完成需要设置下才可以正常显示颜色

  39. 为什么我设置完了 vim 灰色的

  40. 回复39楼
    试试如下
    set t_Co=256
    let g:solarized_termcolors=256
    set background=dark
    colorscheme solarized

  41. 我把这些整理到一个mac初始化脚本了,不过主要是java后端开发人员使用。 如果有需要的直接拿走吧。
    代码: https://github.com/jianhong-li/macbookpro-env-init

发表评论