我的 Vim 配置分享
存一下自己的 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 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)
主题要配合 shell 的主题,一起才会好看一些。关于我使用的配置推荐两个文章,别人已经写好的教程,我就不写了。有问题可以 comment.
自我感觉还是比较秀色可餐的:
autocmd BufNewFile,BufFilePre,BufRead *.jsx set filetype=javascript
autocmd! BufWritePost,BufEnter * Neomake
主题要配合 shell 的主题,一起才会好看一些。关于我使用的配置推荐两个文章,别人已经写好的教程,我就不写了。有问题可以 comment.
自我感觉还是比较秀色可餐的:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: JS 面试题答案整理
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论