Mac环境下Vim配置
在mac上配置vim遇到了几个问题,最后都解决了。
1.mac自带vim版本为8.0,最新为8.1,这是一开始配置时出现问题的主要原因
2.选择vim还是macvim?这个不重要,后面下载安装了macvim,发现和vim共用一套配置文件(.vim, .vimrc)。区别在于,vim需要通过终端$vim打开,macvim打开方便
3.配置时出现的一些问题:
- .vimrc文件注释是用单独一个双引号"
- 插件要安装在 Vbundle 下面
- 代码补全YouCompleteMe插件无法编译,貌似跟vim版本呢有关
$ brew install vim //安装最新vim可解决
貌似安装了vim还自动装了python3.7
总结
配置vim主要还是编写.vimrc文件和安装各类插件。
既然使用了vim,那还是要多学习vim的特点,毕竟被称为编辑器之神,如果还是离不开鼠标,那配置这么久不如装个VScode或者sublimetext
感觉实用性并不好,可能还没用惯。
vim还是要跟大神们慢慢学习,平时任务为了不耽误时间还是用别的了
参考网站
https://www.cnblogs.com/liujianzuo888/articles/7127992.html
.vimr文件
" 高亮打开
set nocompatible
set backspace=indent,eol,start
set nu
set mouse=a
syntax on
" 设置过滤不进行查找的后缀名
let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn|pyc)$'
" 设置编码规则
set encoding=utf-8
" 共享黏贴版
set clipboard=unnamed
" *********************************************
" Vbundle插件管理
" *********************************************
set nocompatible " required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')
" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'
Plugin 'scrooloose/nerdtree'
Bundle 'Valloric/YouCompleteMe'
Plugin 'majutsushi/tagbar'
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
Plugin 'vim-scripts/indentpython.vim'
" Add all your plugins here (note older versions of Vundle used Bundle instead of Plugin)
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
" 启动时自动focus
map <F4> :TagbarToggle<CR>
let g:tagbar_auto_faocus =1
" 启动指定文件时自动开启tagbar
" autocmd BufReadPost *.cpp,*.c,*.h,*.hpp,*.cc,*.cxx,*py,*java call tagbar#autoopen()
" 主题
set t_Co=256
set background=dark
colorscheme Tomorrow-Night
" *********************************************
" vim-airline
" *********************************************
" 开启powerline字体
let g:airline_powerline_fonts = 1
" 使用powerline包装过的字体
set guifont=Source\ Code\ Pro\ for\ Powerline:h14
" *********************************************
" python代码风格PEP8
" *********************************************
au BufNewFile,BufRead *.py set tabstop=4 |set softtabstop=4|set shiftwidth=4|set textwidth=79|set expandtab|set autoindent|set fileformat=unix
au BufNewFile,BufRead *.js, *.html, *.css set tabstop=2|set softtabstop=2|set shiftwidth=2
" *********************************************
" NERD插件属性
" *********************************************
" au vimenter * NERDTree
map <F2> :NERDTreeToggle<CR>
" 开启代码折叠功能
" 根据当前代码行的缩进来进行代码折叠
set foldmethod=indent
set foldlevel=99
" 将za快捷键映射到space空格键上
nnoremap <space> za
" *********************************************
" " 分割布局相关
" " *********************************************
" set splitbelow
" set splitright
" "快捷键,ctrl+l切换到左边布局,ctrl+h切换到右边布局
" "ctrl+k切换到上面布局,ctrl+j切换到下面布局
nnoremap <C-J> <C-W><C-J>
nnoremap <C-K> <C-W><C-K>
nnoremap <C-L> <C-W><C-L>
nnoremap <C-H> <C-W><C-H>
" 代码执行
map <F5> :call RunPython()<CR>
func! RunPython()
if &filetype == 'python'
exec "!time python3 %"
endif
endfunc