Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

我的vim配置 #22

Open
sunyongjian opened this issue Jun 14, 2017 · 0 comments
Open

我的vim配置 #22

sunyongjian opened this issue Jun 14, 2017 · 0 comments
Labels

Comments

@sunyongjian
Copy link
Owner

sunyongjian commented Jun 14, 2017

背景

存一下自己的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.

zsh+vim

zsh+vim+iterm

自我感觉还是比较秀色可餐的。。。

vim

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant