- 前言
- homebrew
- iTerm2
- oh-my-zsh
- 配色
- 毛玻璃
- 字体
- powerlevel9k
- zsh插件
- vim设置
- 配色
- 代码折叠
- 插件管理和使用
- vim-powerline
- 多行注释
- python配置
前言
- 修改pip源
- virtualenv配置
- virtualenvwrapper使用
最近mac不知道怎么了, 估计是新品又要到来了, 水果决定解决老机型过于流畅的bug, 出现各种问题, 比如屏幕底部会突然花屏, 一次约0.1s, 或者是界面卡死之类的. 还有就是插上扩展坞网速就为零. 所以趁着中秋, 重装一下, 然后这些bug都没了(我太难了.jpg). 顺带写下这篇配置篇, 省得以后麻烦.
更新了vim配置内容
homebrew
每次提到homebrew, 除了必备神器之外, 还有就是谷歌: 我们90%的工程师使用您编写的软件(Homebrew), 但是您却无法在面试时在白板上写出翻转二叉树这道题, 这太糟糕了.(手动滑稽)
安装也很简单:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"iTerm2
你可以从官网下载iterm2, 也可以用homebrew:
brew install iTerm2
然后你会发现一个非常非常朴素的终端, 基本和mac自带的终端差不多, 不多说, 上一张素颜照:
接下来, 你就会和我一起, 将它打造成一个性冷淡御姐, 你懂我意思吧(老奸巨猾.jpg)
oh-my-zsh
指令安装:
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
然后从bash切换到zsh, 其实我安装完成之后, 它自动切换了:
chsh -s /bin/zsh
配色
iTerm2自带了一些配色, 但那肯定是不够的.
mkdir ~/iterm2 ; cd ~/iterm2 git clone https://github.com/mbadolato/iTerm2-Color-Schemes
建一个目录, 叫什么都行, 然后下载这个配色方案包, 之后通过command + ,打开配置, 导入刚才下载的配色:
然后你就收获了满满的幸福:
然后你可以使用mv iterm2 .iterm2指令隐藏这个文件夹, 也可以不隐藏, 看你喜欢了.
毛玻璃
然后可以调整一下透明度和模糊度, b格满满的毛玻璃效果就出现了:
字体
字体其实是非常非常重要的, 回忆一下window终端的糟糕字体吧, 其实字体是非常影响整个系统的观感的, 从软件的角度来说也是如此.
这里安装nerd-fonts字体, 它的好处是还支持图标.
brew tap caskroom/fonts brew cask install font-hack-nerd-font
然后在配置文件里面勾选, 注意, ascii和非ascii要一样大, 不一样会造成之后图标有些不对齐:
powerlevel9k
powerlevel9k真的是一个很酷的东西.
git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k
然后打开zsh的配置文件, 将主题设置进去:
vim ~/.zshrc ZSH_THEME="powerlevel9k/powerlevel9k"
退出来之后更新一下zshsource ~/.zshrc. powerlevel9k本身还有许多设置内容, 这里我简单设置一下, 大家可以按需设置.
POWERLEVEL9K_MODE="nerdfont-complete" POWERLEVEL9K_LEFT_prompt_ELEMENTS=(ssh dir vcs) POWERLEVEL9K_RIGHT_prompt_ELEMENTS=(status root_indicator background_jobs virtualenv)
我的设置第一行代表用之前的nerd-fonts字体
第二行设置左边的图标显示内容, 分别是ssh, 目录和git等版本管理
第三行设置右, 依次是状态, 是否是root, 作业指示器, py的环境. 更多设置, 可以参看这篇文章
zsh插件
多的不说, 语法高亮和指令提示肯定要的.
brew install zsh-syntax-highlighting brew install zsh-autosuggestions
然后在.zshrc里面补上如下内容:
source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh
vim设置
我个人还是很喜欢用vim的, 只要不是太复杂的环境, 我都尽量使用vim进行代码编辑. 来看看一些设置和配置吧. 当然, 你可以直接打造成IDE
homebrew进行安装:
brew install vim
然后我先贴出全部的vimrc配置文件内容:
" vundle 环境设置 filetype off set rtp+=~/.vim/bundle/Vundle.vim " 插件列表开始 call vundle#begin() Plugin 'VundleVim/Vundle.vim' Plugin 'altercation/vim-colors-solarized' Plugin 'tomasr/molokai' Plugin 'vim-scripts/phd' Plugin 'Lokaltog/vim-powerline' Plugin 'octol/vim-cpp-enhanced-highlight' Plugin 'nathanaelkane/vim-indent-guides' Plugin 'derekwyatt/vim-fswitch' Plugin 'kshenoy/vim-signature' Plugin 'vim-scripts/BOOKMARKS--Mark-and-Highlight-Full-Lines' Plugin 'majutsushi/tagbar' Plugin 'vim-scripts/indexer.tar.gz' Plugin 'vim-scripts/DfrankUtil' Plugin 'vim-scripts/vimprj' Plugin 'dyng/ctrlsf.vim' Plugin 'terryma/vim-multiple-cursors' Plugin 'scrooloose/nerdcommenter' Plugin 'vim-scripts/DrawIt' Plugin 'SirVer/ultisnips' Plugin 'derekwyatt/vim-protodef' Plugin 'scrooloose/nerdtree' Plugin 'fholgado/minibufexpl.vim' Plugin 'gcmt/wildfire.vim' Plugin 'sjl/gundo.vim' Plugin 'Lokaltog/vim-easymotion' Plugin 'suan/vim-instant-markdown' Plugin 'lilydjwg/fcitx.vim' " 插件列表结束 call vundle#end() filetype plugin indent on " 定义快捷键的前缀, 即let mapleader=";" " 设置状态栏主题风格 let g:Powerline_colorscheme='solarized256' " 基于缩进或语法进行代码折叠 set foldmethod=syntax " 启动 vim 时关闭折叠代码 set nofoldenable " 打开语法高亮 syntax on " 使用配色方案 colorscheme gruvbox " 打开文件类型检测功能 filetype on " 不同文件类型采用不同缩进 filetype indent on " 允许使用插件 filetype plugin on filetype plugin indent on " 关闭vi模式 set nocp " 与mac共享剪贴板 set clipboard+=unnamed " 取消VI兼容 set nocompatible " 显示行号 set nu " 历史命令保存行数 set history=1000 " 当文件被外部改变时自动读取 set autoread " 取消自动备份及产生swp文件 set nobackup set nowb set noswapfile " 允许使用鼠标点击定位 set mouse=a " 允许区域选择 set selection=exclusive " 高亮光标所在行 set cursorline " 取消光标闪烁 set novisualbell " 总是显示状态行 set laststatus=2 " 状态栏显示当前执行的命令 set showcmd " 标尺功能, 显示当前光标所在行列号 set ruler " 设置命令行高度为2 set cmdheight=2 " 粘贴时保持格式 " set paste " 高亮显示匹配的括号 set showmatch " 在搜索的时候忽略大小写 set ignorecase " 高亮被搜索的句子 set hlsearch " 在搜索时, 输入的词句的逐字符高亮 set incsearch " 继承前一行的缩进方式 set autoindent " 为c程序提供自动缩进 set smartindent " 使用c样式的缩进 set cindent " 制表符为4 set tabstop=4 " 统一缩进为4 set softtabstop=4 set shiftwidth=4 " 允许使用退格键 set backspace=eol,start,indent set whichwrap+=<,>,h,l " 取消换行 set nowrap " 在被分割的窗口间显示空白 set fillchars=vert: ,stl: ,stlnc: " 光标移动到buffer的顶部和底部时保持3行距离 set scrolloff=3 " 设定默认解码 set fenc=utf-8 set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936 " 设定编码 set enc=utf-8 set fileencodings=ucs-bom,utf-8,chinese set langmenu=zh_CN.UTF-8 language message zh_CN.UTF-8 source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim " 自动补全 filetype plugin indent on set completeopt=longest,menu " 自动补全命令时候使用菜单式匹配列表 set wildmenu autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete autocmd FileType python set omnifunc=pythoncomplete#Complete autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS autocmd FileType html set omnifunc=htmlcomplete#CompleteTags autocmd FileType css set omnifunc=csscomplete#CompleteCSS autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags autocmd FileType java set omnifunc=javacomplete#Complet
配色
其实之前iTerm已经配色过了的, 但是vim有自己的独立配色. 用法也很简单:
用如下命令创建.vim/colors目录, 然后下载配色文件:
mkdir -p ~/.vim/colors ; cd ~/.vim/colors curl -O https://raw.githubusercontent.com/nanotech/jellybeans.vim/master/colors/jellybeans.vim
打开~/.vimrc, 加入colorscheme jellybeans, 比方说, 我用了这个jellybeans.vim主题配色.
这里再推荐一个gruvbox主题, 效果如下:
代码折叠
使用自带代码折叠
" 基于缩进或语法进行代码折叠 "set foldmethod=indent set foldmethod=syntax " 启动 vim 时关闭折叠代码 set nofoldenable
- 进入vim命令模式, za即可折叠当前块
- zM关闭所有折叠
- zR打开所有折叠
插件管理和使用
安装管理工具vundle:
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
打开.vimrc, 加入下列插件内容:
" vundle 环境设置 filetype off set rtp+=~/.vim/bundle/Vundle.vim " vundle 管理的插件列表必须位于 vundle#begin() 和 vundle#end() 之间 call vundle#begin() Plugin 'VundleVim/Vundle.vim' Plugin 'altercation/vim-colors-solarized' Plugin 'tomasr/molokai' Plugin 'vim-scripts/phd' Plugin 'Lokaltog/vim-powerline' Plugin 'octol/vim-cpp-enhanced-highlight' Plugin 'nathanaelkane/vim-indent-guides' Plugin 'derekwyatt/vim-fswitch' Plugin 'kshenoy/vim-signature' Plugin 'vim-scripts/BOOKMARKS--Mark-and-Highlight-Full-Lines' Plugin 'majutsushi/tagbar' Plugin 'vim-scripts/indexer.tar.gz' Plugin 'vim-scripts/DfrankUtil' Plugin 'vim-scripts/vimprj' Plugin 'dyng/ctrlsf.vim' Plugin 'terryma/vim-multiple-cursors' Plugin 'scrooloose/nerdcommenter' Plugin 'vim-scripts/DrawIt' Plugin 'SirVer/ultisnips' Plugin 'derekwyatt/vim-protodef' Plugin 'scrooloose/nerdtree' Plugin 'fholgado/minibufexpl.vim' Plugin 'gcmt/wildfire.vim' Plugin 'sjl/gundo.vim' Plugin 'Lokaltog/vim-easymotion' Plugin 'suan/vim-instant-markdown' Plugin 'lilydjwg/fcitx.vim' " 插件列表结束 call vundle#end() filetype plugin indent on
vim-powerline进入vim, 命令模式下键入:PluginInstall, 即可自动安装:
利用插件Lokaltog/vim-powerline, 设置状态栏风格:
" 设置状态栏主题风格 let g:Powerline_colorscheme='solarized256'多行注释
多行注释肯定要的. 首先添加按钮, 你可以添加自己顺手的, 我这里是;:
" 定义快捷键的前缀, 即let mapleader=";"
代码补全然后cc注释选中区域, 你可以用v进入选中模式选择多行.
cu取消注释
vim同样自带了代码自动补全, 使用也很简单, ctrl + p即可, 然后继续ctrl + p是向上, ctrl + n是向下, 当然了, 有更加复杂的插件进行提示. 最终效果可以达到vs的等级, 但是我个人认为没必要. 如果以后有这方面的需求, 回来更新文章内容的.
那事实上, 还有其他按键, 你用ctrl + x, 即可显示全部提示, 看所示图的最下面一行, 可以ctrl + ], ctrl + D等等.
python配置 修改pip源
首先改一下pip的源:
mkdir .pip ; cd .pip vim pip.conf
替换阿里源:
[global] index-url=http://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com
或者你喜欢的:
- http://pypi.douban.com/
- http://pypi.hustunique.com/
- http://pypi.sdutlinux.org/
- http://pypi.mirrors.ustc.edu.cn/
virtualenv配置
我使用的是virtualenv, 如果你是其它环境也是可以的:
pip3 install virtualenv
virtualenvwrapper使用使用virtualenv --version看下是否安装成功.
Virtaulenvwrapper是对virtualenv的封装, 可以更方便地管理虚拟环境:
pip3 install virtualenvwrapper
建立一个环境目录, 比方说mkdir ~/pyEnv
打开.zshrc文件, 输入如下内容:
export WORKON_HOME=~/pyEnv source /usr/local/bin/virtualenvwrapper.sh
source ~/.zshrc更新配置文件, 会有如下图内容:
之后就能欢乐地建立环境了:
- 建立环境: mkvirtualenv env1
- 删除环境: rmvirtualenv env1
- 切换环境到其它环境: workon env2
- 退出环境: deactivate
- 列出所有环境: lsvirtualenv -b
- 查看环境里的轮子: lssitepackages



