最近几天在弄树莓派,装完系统,第一时间就更新VIM,新的VIM没有配置,所以简单把VIM基本配置贴在下面。
简易配置
先安装vim的升级版:
sudo apt-get install vim
然后进入配置文件:
vim ~/.vimrc
(如果想要超级用户也生效,需要保存到/etc/vim/vimrc.local)
输入以下命令后保存:
set number
filetype on
set history=1000
set nocompatible
set shiftwidth=4
colorscheme industry
syntax on
set autoindent
set smartindent
set tabstop=4
set showmatch
set guioptions-=T
set vb t_vb=
set ruler
set nohls
set incsearch
if has(“vms”)
set nobackup
else
set backup
endif
colorscheme 有好几种,主要有blue,darkblue,default,delek,desert,elflord,koehler,murphy。大家可以在vim的本地安装配置文件夹下找到。
以上是简易配置,适用于初次安装使用的时候,没行号颜色不清晰改文件什么的很麻烦。
Mac下.vimrc配置
下面介绍一个我自己常用的配置,我的Macbook Air使用的如下Vim配置,推荐给大家。
"=====================================================
" Author: Nick Kuta
" Date: 2019-2-18
" File: .vimrc
"=====================================================
let skip_defaults_vim=1
" Configuration file for vim
set modelines=0 " CVE-2007-2438
" Normally we use vim-extensions. If you want true vi-compatibility
" remove change the following statements
set nocompatible " Use Vim defaults instead of 100% vi compatibility
set backspace=2 " more powerful backspacing
"=====================================================
"显示行号
set nu
"启动时隐去援助提示
set shortmess=atI
"语法高亮
syntax on
"不需要备份
set nobackup
"没有保存或文件只读时弹出确认
set confirm
"鼠标可用
set mouse=a
"tab缩进
set tabstop=4
set shiftwidth=4
set expandtab
set smarttab
"文件自动检测外部更改
set autoread
"c文件自动缩进
set cindent
"自动对齐
set autoindent
"智能缩进
set smartindent
"高亮查找匹配
set hlsearch
"显示匹配
set showmatch
"显示标尺,就是在右下角显示光标位置
set ruler
"------------------------------
set splitbelow
set splitright
"split navigations
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>
"------------------------------
" Enable folding with the spacebar
nnoremap <space> za
"设置键盘映射,通过空格设置折叠
"nnoremap <space> @=((foldclosed(line('.')<0)?'zc':'zo'))<CR>
""""""""""""""""""""""""""""""""""""""""""""""
"不要闪烁
set novisualbell
"启动显示状态行
set laststatus=2
"浅色显示当前行
autocmd InsertLeave * se nocul
"用浅色高亮当前行
autocmd InsertEnter * se cul
"显示输入的命令
set showcmd
"被分割窗口之间显示空白
set fillchars=vert:/
set fillchars=stl:/
set fillchars=stlnc:/
"=====================================================
" vundle 环境设置
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
" vundle 管理的插件列表必须位于 vundle#begin() 和 vundle#end() 之间
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'tomasr/molokai'
Plugin 'Lokaltog/vim-powerline' "状态条
Plugin 'octol/vim-cpp-enhanced-highlight' "Cpp语法高亮
Plugin 'Raimondi/delimitMate' "
Plugin 'vim-scripts/phd'
Plugin 'vim-scripts/indentpython.vim' "python缩进
Plugin 'scrooloose/syntastic' "语法检查
Plugin 'nvie/vim-flake8' "PEP8代码风格检查
Plugin 'jnurmine/Zenburn' "配色
Plugin 'https://github.com/vim-scripts/The-NERD-Commenter'
"Plugin 'Valloric/YouCompleteMe'
Plugin 'vim-scripts/DoxygenToolkit.vim'
" 插件列表结束
call vundle#end()
filetype plugin indent on
"=====================================================
" 作者名称
let g:DoxygenToolkit_authorName="Nick - xxxx@xxx.com"
let g:DoxygenToolkit_briefTag_funcName="yes"
map <leader>da :DoxAuthor<CR>
map <leader>df :Dox<CR>
map <leader>db :DoxBlock<CR>
map <leader>dc a /* */<LEFT><LEFT><LEFT>
"=====================================================
" 配色方案
set background=dark
colorscheme molokai
"colorscheme phd
"colorscheme Zenburn
"=====================================================
let g:NERDSpaceDelims = 1 " 注释的时候自动加个空格
"=====================================================
" 禁止显示菜单和工具条
set guioptions-=m
set guioptions-=T
" 总是显示状态栏
set laststatus=2
" 禁止折行
set nowrap
" 设置状态栏主题风格
let g:Powerline_colorscheme='solarized256'
syntax keyword cppSTLtype initializer_list
let python_highlight_all=1 "python语法高亮
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_auto_jump = 1
"=====================================================
" 基于缩进或语法进行代码折叠
"set foldmethod=indent
set foldmethod=syntax
" 启动 vim 时关闭折叠代码
set nofoldenable
"允许用退格键删除字符
set backspace=indent,eol,start
"编码设置
set encoding=utf-8
"共享剪切板
set clipboard=unnamed
"标记多余空白
"au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/
"=====================================================
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 |
"=====================================================
"宏定义
iabbrev #b /************************************************************
iabbrev #e <Space>************************************************************/
iabbrev NK Nick Kuta
iabbrev ad advertisement
iabbrev #i #include
iabbrev #d #define
abbrev teh the
"=====================================================
VIM实际效果如下图所示:
安装需要的插件
将想要安装的插件,按照地址填写方法,将地址填写在 vundle#begin 和 vundle#end 之间就可以保存之后,有两种方法安装插件。
运行 vim ,再运行 :PluginInstall
vim xxx
:PluginInstall
通过命令行直接安装 vim +PluginInstall +qall
vim +PluginInstall +qall
安装完成之后,插件就可以使用。
移除不需要的插件
- 编辑.vimrc文件移除的你要移除的插件所对应的plugin那一行。
- 保存退出当前的vim
- 重新打开vim,输入命令 BundleClean。
其他常用命令
- 更新插件 BundleUpdate
- 列出所有插件 BundleList
- 查找插件 BundleSearch
最后是一张Windows下的VIM配色效果: