记录一下vim的设置,本文结构顺序由对作者从vim陌生到熟练排序,他人阅读可能体验不是很好,阅读建议:需要哪块内容直接进行搜索阅读,二级标题为比较独立的模块,也是我使用过程中从原始vim一点点加上去的,适合新接触vim的朋友。
vim配色
使用自己喜欢的文本显示风格,可以去搜索适合个人和语言的配色方案,在github获取。
下载配色文件到.vim/colors
git clone https://github.com/tomasr/molokai
.vimrc 文件配置
colorscheme molokai
常用到diff 比较文件的话,为了避免配色方案对diff比较结果显示的影响,可以使用默认的配色。
添加
if &diff
colorscheme default
endif
ctags
ctags是用于vim的方便c/c++编码,代码阅读的插件,提供函数定义跳转,补全等功能
ctags 安装
这里使用的是用源码编译ctags,一些linux的发行版本可以直接安装 yum install ctags
或apt install ctags
下载源码 http://ctags.sourceforge.net
上传到linux 解压 tar xvzf ctags-5.8.tar.gz
这里目录是/home/ctags-5.8
执行解压出文件的 configure ./home/ctags-5.8/configure
对ctags初始化
注意这里执行configure一定要在编译环境下,如果编译使用docker pod内编译的话,这部分内容在pod内执行
执行make
make install
当前文件下下生成ctag
前缀键
Vim预置有很多快捷键,再加上各类插件的快捷键,大量快捷键出现在单层空间中难免引起冲突。为缓解该问题,而引入了前缀键。藉由前缀键, 则可以衍生出更多的快捷键命名空间(namespace)。例如将r键配置为r、r等多个快捷键。
vim插件
plug插件管理
插件安装
#安装插件管理工具 plug
curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
执行vim ~/.vimrc
编辑
call plug#begin('~/.vim/plugged')
Plug 'scrooloose/nerdtree' #需要的插件名
call plug#end()
命令模式
:PlugInstall #下载配置中的插件
:PlugStatus #查看安装插件状态
:PlugClean #删除插件,先删除~/.vimrc 中的需要删除的插件哪一行,如Plug 'scrooloose/nerdtree'
:PlugUpdate #更新插件 可以在后面加上插件名单独更新某插件
配置文件中加入autocmd VimEnter * NERDTree
可以让插件自启动
.vimrc
call plug#begin('~/.vim/plugged')
Plug 'scrooloose/nerdtree' #文件树
Plug 'Raimondi/delimitMate' #括号引号补全
call plug#end()
-
tagbar安装(浏览文件结构)
安装ctags
yum install ctags
转到根目录
ctags -R
设置tags路径
set tags = 路径/tags
设置根据文件自动切换目录
set autochdir
在vim-plug中添加
Plug 'majutsushi/tagbar'
nmap <F8> : TagbarToggle<CR>
-
ctrlp安装 (文本搜索工具)
vim-plug 添加
Plugin 'kien/ctrlp.vim'
"ctrlp
let g:airline_cmd = 'CtrlP' " cltr + p 按键启动
代码折叠
主要用于代码的折叠查看
添加.vimrc设置
set foldmethod=xxx
或者set fmd=xxx
定义折叠代码模式
vim的折叠模式有
- manual:手工定义折叠
- indent:按缩进折叠
- marker:用标记/{{{/ /}}}/来定义折叠
- diff:比较模式,对没有更改的文本进行折叠
- syntax:用语法高亮来定义折叠
- expr:用表达式进行折叠
一般使用indent
"not fold defult 设置初始全部展开
set foldlevelstart=99
set foldmethod=indent