-
Notifications
You must be signed in to change notification settings - Fork 54
Description
背景
存一下自己的vim配置...
vi跟vim
vim = Vi IMproved
现在很多发行版直接把vi做成vim的软连接了,如果你直接执行vi欢迎界面上显示了VIM - Vi IMproved字样,就说明你实际上用的就是vim.
vi本来只能运行于unix中,而vim可以运行于unix,windows ,mac等多操作平台。
另外vim在多级撤销,语法高亮等方面做了增强。
安装
-
linux
一般都是用apt-get安装
ubuntu 下sudo apt-get install vim-gtk
-
mac
Mac os自带vim,我升级是使用homebrew安装的,
brew install vim --with-lua --with-override-system-vi
这样安装是放到
/usr/local/bin/vim
目录下的,也就是用户自己编译的放在
/usr/local/xxx
. 关于linux的文件系统区别
终端配置
-
因为我用的是oh-my-zsh,并不是mac自带的bash,很多配置文件都要单独source。zsh的配置都在
~/.zshrc
里。
比如我执行vi的时候,都是执行我安装的最新vim,可以使用alias(别名设置),就可以在.zshrc 加alias vi=vim
.当然也可以单独建一个.alias文件,在.zshrc里面source .alias
。 注意都在~目录下。 -
由于个人比较喜欢直接
git commit
写commit文本,所以我的git配置里面editor=vim
.
特定的仓库在someproject/.git/config
文件,加入[core] editor = vim
用户git全局的配置在
~/.gitconfig
我的vim配置
插件管理是用的比较老的 vundle...
常用的工作目录,自动补全,语法检测,文件搜索... 都是有的
选用哪些插件可以边试边选择, 关于如何配置,网上的教程很多...
随便搜了一个
" vundle支持
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
" 集中管理vim插件
execute pathogen#infect()
" 文件目录插件
Bundle "scrooloose/nerdtree"
nmap <F5> :NERDTreeToggle<cr>
let NERDTreeWinSize=30
" 状态栏插件
Bundle "Lokaltog/vim-powerline"
set laststatus=2
let g:Powerline_symbols='unicode'
Bundle 'neomake/neomake'
function! NeomakeEslintChecker()
let l:eslint = 'eslint'
let l:git_root = split(system('git rev-parse --show-toplevel'))[0]
if executable(l:git_root . '/node_modules/.bin/eslint')
let l:eslint = l:git_root . '/node_modules/.bin/eslint'
endif
let b:neomake_javascript_eslint_exe = l:eslint
endfunction
let g:neomake_javascript_enabled_makers=['eslint']
let g:syntastic_check_on_open=1
autocmd FileType javascript :call NeomakeEslintChecker()
" 模糊搜索插件
Bundle 'kien/ctrlp.vim'
Bundle 'croaky/vim-colors-github'
" 搜索高亮度反白
set hlsearch
" 启用语法折叠
set foldmethod=syntax
" tab自动缩进
set tabstop=2
"autoindent
set ai!
" 显示行号
set nu
" 设置默认进行大小写不敏感查找
set ignorecase
" 如果有一个大写字母,则切换到大小写敏感查找
set smartcase
" 修复delete不能删除的情况
set backspace=2
colorscheme solarized
"自动补全
Bundle 'Valloric/YouCompleteMe'
" ternjs
Bundle 'marijnh/tern_for_vim'
" 设置错误符号
let g:syntastic_error_symbol='o'
" 设置警告符号
let g:syntastic_warning_symbol='⚠'
" 是否在打开文件时检查
" 是否在保存文件后检查
let g:syntastic_check_on_wq=1
syntax enable "开启语法高亮功能
syntax on " 允许用指定语法高亮配色方案替换默认方案
set t_Co=256
let g:solarized_termtrans=1
set background=dark
let g:solarized_termcolors=256
set tags+=~/.vim/systags "路径跳转
"CtrlP 配置
let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlP'
" 设置过滤不进行查找的后缀名
let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn|pyc)$'
autocmd BufNewFile,BufFilePre,BufRead *.jsx set filetype=javascript
autocmd! BufWritePost,BufEnter * Neomake
主题要配合shell的主题,一起才会好看一些。
关于我使用的配置推荐两个文章,别人已经写好的教程,我就不写了。有问题可以comment.
自我感觉还是比较秀色可餐的。。。