VIM配置和插件
安装步骤
clone到本地,配置到linux个人目录
1 2 3 4 |
git clone https://github.com/xianyo/vim.git ~/.vim <span class="nb">cd</span> ~/.vim ./install.sh setup |
快捷键
修改的快捷键和插件快捷键
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
1. 上排F功能键 F1 废弃这个键,防止调出系统帮助 F2 set nu/nonu,行号开关,用于鼠标复制代码用 F3 打开file tree F4 Tagbar F5 set paste/nopaste,粘贴模式paste_mode开关,用于有格式的代码粘贴 F6 代码格式优化化 F7 编译运行 F8 C,C++的调试 F9 代码浏览 F10 F11 分割窗口最大化 F12 vimshell 2. 分屏移动 ctrl + jkhl 进行上下左右窗口跳转,不需要ctrl+w+jkhl 3. 搜索 ,/ 去除匹配高亮 4. buffer/tab相关 <- / -> 前后buffer , + tn 新tab , + to tabonly , + tc close , + tm tab move , + te new tab edit 5. 按键修改 ; 修改成 : ,一键进入命令行模式,不需要按shift , + sa select all,全选 , + v 选中段落 , + q :q,退出vim |
插件
-
插件管理 gmarik/vundle
必装,用于管理所有插件 命令行模式下管理命令:
1234:BundleInstall install:BundleInstall! update:BundleClean remove plugin not in list -
代码自动补全 Valloric/YouCompleteMe
需要编译这个插件(见github文档)
这个需要自己去看官方的配置方式,演示在官方github有
需要Vim 7.3.584 以上版本(如何编译vim)
这个插件包含了以下几个插件功能,所以不需要装下面:
123456clang_completeAutoComplPopSupertabneocomplcachejedi(对python的补全)快捷键:
12,gd 跳到声明位置, 仅 filetypes: c, cpp, objc, objcpp, python 有效 -
代码片段快速插入 SirVer/ultisnips +honza/vim-snippets
必装,效率杀手锏,快速插入自定义的代码片段
代码片段集合,有缺陷
自动补全加这个,高效必备, 针对各种语言已经带了一份配置了,可以到安装目录下查看具体,我有针对性补全一份,在my_snippets目录下,可自行修改
演示
-
Tagbar majutsushi/tagbar
12[sd] <F4> 打开演示
-
Markdown plasticboy/vim-markdown
markdown语法,编辑md文件
-
状态栏增强 bling/vim-airline
演示
-
vim-bufferline bling/vim-bufferline
状态栏显示buffer
演示
in the statusline
or the command bar
-
vimcdoc asins/vimcdoc
vim中文帮助文档
-
多语言语法检查 scrooloose/syntastic
建议安装,静态语法及风格检查,支持多种语言
修改了下标记一列的背景色,原有的背景色在solarized下太难看了…..
演示
-
搜索 kien/ctrlp.vim
文件搜索,ack/Command-T需要依赖于外部包,不喜欢有太多依赖的,除非十分强大, 具体 文档
1234567[sd] ,p 打开ctrlp搜索[sd] ,f 相当于mru功能,show recently opened filesctrl + j/k 进行上下移动ctrl + x/v 分屏打开该文件ctrl + t 在新tab中打开该文件演示
插件: 当前文件快速函数搜索:tacahiroy/ctrlp-funky
解决问题:使用tagbar当函数比较多的时候,移动耗时较长,使用快速搜索快很多
123,fu 进入当前文件函数搜索,fU 搜索光标下单词对应函数 -
目录树 scrooloose/nerdtree
必装,开启目录树导航
123456789101112131415161718192021[sd],n 打开 关闭树形目录结构 或者F3在nerdtree窗口常用操作:(小写当前,大写root)x.......收起当前目录树X.......递归收起当前目录树r.......刷新当前目录R.......刷新根目录树p.......跳到当前节点的父节点P.......跳到root节点k/j.....上下移动K.......到同目录第一个节点J.......最后一个节点o.......Open files, directories and bookmarksi.......split上下分屏s.......vsplit左右分屏c.......将当前目录设为根节点q.......关闭演示
-
快速注释 scrooloose/nerdcommenter
必装,另一个大大提升效率的地方,快速批量加减注释
1234[d] shift+v+方向键选中(默认当前行)-> ,cc 加上注释-> ,cu 解开注释演示
附:注释还有其他两种插件可选tcomment 和tpope/vim-commentary
-
区块伸缩 terryma/vim-expand-region
视图模式下可伸缩选中部分,用于快速选中某些块
1234[sd]+ 增加选中范围(+/=按键)_ 减少选中范围(_/-按键)演示(直接取链到其github图)
-
多光标选中编辑 terryma/vim-multiple-cursors
多光标批量操作
123456[sd]ctrl + m 开始选择ctrl + p 向上取消ctrl + x 跳过esc 退出演示(官方演示图)
-
git 常用操作 tpope/vim-fugitive
git插件, 编辑文件时进行一些diff操作,例如diff
不是很习惯,所以用的次数太少,目前和现有配置快捷键有冲突,尚未解决
123[sd],ge = git diff edit[gd被ycm占用了]没有配置其他快捷键,可以参照github,自己增加修改映射
-
git状态 airblade/vim-gitgutter
git,在同一个文件内,通过标记和高亮,显示本次文件变更点
123[sd],gs = show diff status [gd被ycm占用了] -
位置跳转Lokaltog/vim-easymotion
必装,效率提升杀手锏,跳转到光标后任意位置
配置(我的leader键配置 let g:mapleader = ‘,’)
123,, + w 跳转,, + fe 查找'e',快速跳转定位到某个字符位置演示
-
快速编辑 tpope/vim-surround +tpope/vim-repeat
必装,很给力的功能,快速给词加环绕符号,例如引号
repeat进行增强,’.’可以重复命令
12345678[d]cs"' [inside]"Hello world!" -> 'Hello world!'ds""Hello world!" -> Hello world!ysiw"Hello -> "Hello"演示
-
赋值语句代码对齐 godlygeek/tabular
将代码,或者json等,进行对齐,具体见 tabular-vim
1234[sd] 可以选中多行,不选中默认操作当前行,a= 对齐等号表达式,a: 对齐冒号表达式(json/map等) -
mark跳转 kshenoy/vim-signature
-
文件时光机 sjl/gundo.vim
编辑文件时光机
12[sd] ,h 查看文件编辑历史附:同类插件 mbbill/undotree
-
括号上色高亮 kien/rainbow_parentheses.vim
演示
-
solarized主题altercation/vim-colors-solarized
经典主题
- ####molokai主题tomasr/molokai
用sublime text2的同学应该很熟悉, 另一个主题,可选,偶尔换换味道
-
Buffer fholgado/minibufexpl.vim
buffer管理
注释掉了。用vim-bufferline
1234567[sd]<Tab> 切换buffer左右方向键 切换buffer,bn 切到后一个,bp 切到前一个,bd 关闭当前buffer -
YankRing YankRing.vim
-
SrcExpl wesleyche/SrcExpl
-
ZoomWin ZoomWin
-
std_c std_c.zip
-
vimshell Shougo/vimshell.vim
-
vimim vimim/vimim
0 Comments