/vimplus

:rocket:An automatic configuration program for vim

Primary LanguageVim ScriptMIT LicenseMIT

vimplus-logo

An automatic configuration program for vim

main

安装

Mac OS X

安装HomeBrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装vimplus

git clone https://github.com/chxuan/vimplus.git ~/.vimplus
cd ~/.vimplus
./install.sh

设置Nerd Font

为防止vimplus显示乱码,需设置mac终端字体为Droid Sans Mono Nerd Font

Linux 64-bit

支持以下发行版

安装vimplus(请在普通用户下安装)

git clone https://github.com/chxuan/vimplus.git ~/.vimplus
cd ~/.vimplus
./install.sh //不加sudo

设置Nerd Font

为防止vimplus显示乱码,需设置linux终端字体为Droid Sans Mono Nerd Font

个性化

修改 ~/.vimrc.local 文件内容,以启用个性化定制,可覆盖 ~/.vimrc 中的设置。

插件列表

插件 说明
cpp-mode 提供生成函数实现、函数声明/实现跳转、.h .cpp切换等功能(I'm author:smile:)
vim-edit 方便的文本编辑插件(I'm author:smile:)
change-colorscheme 随心所欲切换主题(I'm author:smile:)
prepare-code 新建文件时,生成预定义代码片段(I'm author:smile:)
vim-buffer vim缓存操作(I'm author:smile:)
vimplus-startify vimplus开始页面(修改自mhinz/vim-startify)
tagbar 使用majutsushi/tagbar的v2.3版本,taglist的替代品,显示类/方法/变量
vim-plug Vundle下载更快的插件管理软件
YouCompleteMe 史上最强大的基于语义的自动补全插件,支持C/C++、C#、Python、PHP等语言
NerdTree 代码资源管理器
vim-nerdtree-syntax-highlight NerdTree文件类型高亮
nerdtree-git-plugin NerdTree显示git状态
vim-devicons 显示文件类型图标
Airline 可以取代powerline的状态栏美化插件
auto-pairs 自动补全引号、圆括号、花括号等
LeaderF ctrlp更强大的文件的模糊搜索工具
ack 强大的文本搜索工具
vim-surround 自动增加、替换配对符的插件
vim-commentary 快速注释代码插件
vim-repeat 重复上一次操作
vim-endwise if/end/endif/endfunction补全
tabular 代码、注释、表格对齐
vim-easymotion 强大的光标快速移动工具,强大到颠覆你的插件观
incsearch.vim 模糊字符搜索插件
markdown-preview markdown实时预览
vim-fugitive 集成Git
gv 显示git提交记录
vim-slash 优化搜索,移动光标后清除高亮
echodoc 补全函数时在命令栏显示函数签名
vim-smooth-scroll 让翻页更顺畅
clever-f.vim 强化f和F键
github-complete.vim Emoji:dog:补全

快捷键

以下是部分快捷键,可通过vimplus的,h命令查看vimplus帮助文档

快捷键 说明
, Leader Key
<leader>n 打开/关闭代码资源管理器
<leader>t 打开/关闭函数列表
<leader>a .h .cpp 文件切换
<leader>u 转到函数声明
<leader>U 转到函数实现
<leader>u 转到变量声明
<leader>o 打开include文件
<leader>y 拷贝函数声明
<leader>p 生成函数实现
<leader>w 单词跳转
<leader>f 搜索~目录下的文件
<leader>F 搜索当前目录下的文本
<leader>g 显示git仓库提交记录
<leader>G 显示当前文件提交记录
<leader>gg 显示当前文件在某个commit下的完整内容
<leader>ff 语法错误自动修复(FixIt)
<c-p> 切换到上一个buffer
<c-n> 切换到下一个buffer
<leader>d 删除当前buffer
<leader>D 删除当前buffer外的所有buffer
vim 运行vim编辑器时,默认启动开始页面
<F5> 显示语法错误提示窗口
<F7> 启用markdown实时预览
<F8> 关闭markdown实时预览
<F9> 显示上一主题
<F10> 显示下一主题
<leader>l 按竖线对齐
<leader>= 按等号对齐
Ya 复制行文本到字母a
Da 剪切行文本到字母a
Ca 改写行文本到字母a
rr 替换文本
<leader>r 全局替换,目前只支持单个文件
gcc 注释代码
gcap 注释段落
vif 选中函数内容
dif 删除函数内容
cif 改写函数内容
vaf 选中函数内容(包括函数名 花括号)
daf 删除函数内容(包括函数名 花括号)
caf 改写函数内容(包括函数名 花括号)
fa 查找字母a,然后再按f键查找下一个
<c-x><c-o> Emoji:dog:补全

Q & A

  • vimplus安装脚本会在自己电脑上安装哪些软件?

    网络良好情况下,vimplus只需30分钟左右即可将vim cpp环境配置好,vimplus真正的做到了一键配置,不让用户操心。vimplus会安装一些必备软件,比如说python、cmake、gcc、fontconfig等,vimplus也考虑到了有些系统的vim不支持python,它会自动去下载vim源码将python支持编译进去,vimplus也会安装nerd-font不让vim显示出现乱码,最最重要的是vimplus实现了ycm自动编译安装,给折腾了几天ycm都没有安装好的用户带来了新的希望,而且vimplus也支持macos和linux众多发行版,让linux发烧友频繁切换发行版而不用操心vim环境配置。最后说了这么多,不如看vimplus安装脚本来的直接:smile:。

  • 插件安装界面显示YouCompleteMe安装失败

    在执行install.sh安装脚本时,ycm比其他插件早安装,当用户看到插件安装界面显示ycm安装失败时,其实ycm已经提前安装好了,忽略掉该错误即可。

  • 插件安装界面不更新进度,一直显示进度Installing plugins (24/40)

    vimplus使用vim-plug作为插件管理器,vim-plug可能由于界面没有刷新(其实在安装),所以进度一直停留在Installing plugins (24/40),用户只需要耐心等待所有插件安装完成即可,或者直接Ctrl+C终止安装,通过vim打开~/.vimrc并执行:PlugInstall命令安装剩余插件。

  • vimplus不支持目前用户正在使用的系统怎么办?

    可以给作者提Issues,或者自己fork vimplus来修改,并提交pr,贡献自己的一份力量。

  • 安装vimplus后Airline等插件有乱码,怎么解决?

    linux和mac系统需设置终端字体为Droid Sans Mono Nerd Font

  • xshell连接远程主机不能使用vim-devicons或乱码。

    windows系统安装Nerd Font字体后并更改xshell字体即可。

  • ubuntu18.04安装了nerd font但通过终端属性并没有看到该字体。

    可以试试dconf-editor软件来设置,可以参考这里

  • 使用第三方库时怎么让ycm补全第三方库API?

    vimplus安装完毕之后,~目录下将会生成两个隐藏文件分别是.vimrc和.ycm_extra_conf.py,其中.vimrc是vim的配置文件,.ycm_extra_conf.py是ycm插件的配置文件,当你需要创建一个project时,需要将.ycm_extra_conf.py拷贝到project的顶层目录,通过修改该配置文件里面的flags变量来添加你的第三方库路径。

  • 在A用户下安装了vimplus,在B用户下不能使用?

    目前vimplus是基于用户的,如果你想在其他用户下也能使用vimplus,也需要单独安装。

  • 怎么自定义文件头,比如说添加作者、创建时间?

    你可以修改chxuan/prepare-code插件来达到目的,可以参考这里

  • 安装vimplus在“[ 95%] Building CXX object ycm/CMakeFiles/ycm_core.dir/ycm_core.cpp.o”等进度时出现编译报错

    编译ycm需要消耗较大内存,建议内存大于1G,实在不行也可以开启linux swap分区。

  • 以上没有我遇到的问题怎么办?

    您可以通过上网找解决方法,或提Issues,也可以通过加QQ787280310、发邮件方式787280310@qq.com一起讨论解决方法。

  • vimplus用起来真的太棒了,怎么办?

    那就麻烦您打赏一颗:star::star:吧,给予我继续维护的动力。

支持开源:heart:

wechat alipay

贡献者

chxuan

dofy

urain39

freedomDR

starifly

Shaloc

jokerkeny

vimplus:star:趋势图

Sparkline

License

This software is licensed under the MIT license. © 2016 chxuan