vim插件

vim插件配置

https://github.com/chxuan/vimplus vimplus开源地址

我这里只是介绍了cpp插件的详细安装,其余请参考vimplus开源地址 readme文件,适用centos、ubuntu64位。

1 下载源码

这里由于我的linux环境是纯净版的,没有配置git,所以直接下载的zip压缩包,如果有配置了git在linux环境下,请直接执行下面的命令

git clone https://github.com/chxuan/vimplus.git ~/.vimplus

我是下载了压缩包然后将其源码放到了~/.vimplus目录下

mkdir -p ~/.vimplus
cd ~/.vimplus

在这里插入图片描述

此时在~/.vimplus目录下有一个install.sh安装脚本

然后执行下面的命令等待脚本执行结束,这里需要给脚本赋予执行权限,不建议直接777,

chmod u+x install.sh
./install.sh

安装过程中会有选择是使用python3还是python2 这里输入3 回车即可。

这里可能时间较长因为需要安装一些必备的软件,比如python等一些依赖项。

在这里插入图片描述

我这里用了8分钟,因为我的网路比较卡,实际应该在5-8分钟左右

~/.vimrc  
#为vimplus的默认配置,一般不做修改
~/.vimrc.custom.plugins
#为用户自定义插件列表,用户增加、卸载插件请修改该文件
~/.vimrc.custom.config
#为用户自定义配置文件,一般性配置请放入该文件,可覆盖~/.vimrc里的配置

2 配置cpp-mode插件、

2.1 YouCompleteMe

这是一个代码补全工具,首先我们需要安装它的依赖项,我自己测试过,即使不安装,后面编译构建成功后即使编译报错,也还是不会影响代码补全,不过应该是无法自动生成.ycm_extra_conf.py 文件,我这里是没有安装依赖项,后面手动添加的ycm的配置文件。

注意:如果有时候你看到你的vim里面提升ycm的问题,大概率是因为你还没有编译YCM

安装依赖:

sudo apt-get install cmake python3 python3-dev

提示:/root/.vim/plugged/YouCompleteMe/下的README详细讲解了各类语言的代码补全以及示例,但是是纯英文。

开始编译

cd ~/.vim/plugged/YouCompleteMe
python3 install.py --all

在这里插入图片描述

这里编译结束后如果有报错可以先不用管,有的是一些防火墙因素倒置有些服务无法访问但不会影响配置(个人理解因为这个错误我没有在意过)

在这里插入图片描述

继续进行下一步

2.2 配置 .vimrc

如果没有生成.ycm_extra_conf.py文件那么需要手动设置

def Settings( **kwargs ):
  return {
    'flags': [ '-x', 'c++', '-Wall', '-Wextra', '-Werror' ],
  }
 vim ~/.vimrc
 let g:ycm_global_ycm_extra_conf = '~/.vim/plugged/YouCompleteMe/.ycm_extra_conf.py'
 let g:ycm_filetype_blacklist = {}

对应ycm_filetype_blacklist 来说是一个文件类型的黑名单,表示哪些文件不需要ycm去启动自动补全功能,按理说我们需要对一些.log txt加入ycm黑名单,从而提升文件的操作效率。但也不会有太大的影响我这里没有加入文件黑名单。

然后随便用vim打开一个文件,在命令行模式执行下面的命令

:YcmRestartServer

2.3 配置cpp-mode

vim ~/.vimrc.custom.plugins
#添加下面一行代码 里面也有相应的有注释
Plug 'chxuan/cpp-mode'
#在命令行执行
:PlugInstall

2.4 使用

  • :CopyCode

    拷贝函数或变量,和:PasteCode结合使用

  • :PasteCode

    生成函数实现或变量定义,和:CopyCode结合使用

  • :GoToFunImpl

    转到函数实现,该功能可替代ycm提供的转到函数实现(因为ycm转到函数实现经常不成功)

  • :Switch

    c++头文件和实现文件切换

  • :FormatFunParam

    格式化函数参数,用于函数参数列表过多的情况

  • :GenTryCatch

    生成try-catch代码块

请将以下配置加到 ~/.vimrc,如果不喜欢以下映射,可根据个人喜好更改。

nnoremap <leader>y :CopyCode<cr>
nnoremap <leader>p :PasteCode<cr>
nnoremap <leader>U :GoToFunImpl<cr>
nnoremap <silent> <leader>a :Switch<cr>
nnoremap <leader><leader>fp :FormatFunParam<cr>
nnoremap <leader><leader>if :FormatIf<cr>
nnoremap <leader><leader>t dd :GenTryCatch<cr>
xnoremap <leader><leader>t d :GenTryCatch<cr>

更加详细请参考CPP-MODE github仓库:

https://github.com/chxuan/cpp-mode
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值