前言
ROS的开发环境有很多,对ROS支持最好的Roboware,以及世界第一编辑器:vscode.因为作者最近开始加大ROS学习与开发力度,并打算借这一次ROS开发的学习机会开启自己的C++ coding之旅。在网上找过一些资料后发现vim实现ROS补全的一种方法是靠YCM。但YCM的安装过程非常复杂,加上目前只有校园网通过vim-plug安装YCM更是屡次失败。另外作者已经使用习惯了vim不想改去别的编辑器。故本文将采用 OmniCppComplete与ctags 实现对 C++基础库以及ROS库中头文件及其相应函数在VIM中的补全功能.
摘要: OmniCppComplete ctags vim ROS开发环境 自动补全
资源下载
ctags安装
sudo apt-get install exuberant-ctags
生成tags文件
下面我们需要到/cpp_src文件夹下与/opt/ros/melodic(此为ros的默认安装位置,若您的ros安装在别的地方请到相应的文件夹中执行下面的操作)中执行以下操作
$ ctags -R --c++-kinds=+p --fields=+iaS --extra=+q
安装OmniCppComplete
- 下载OmniCppComplete的zip压缩包后将其放置到~/.vim中并解压缩,随后打开vim,在normal模式下输入:
:helptags ~/.vim/doc
修改~/.vimrc
set nocp
filetype plugin on
set completeopt=menu,menuone
let OmniCpp_MayCompleteDot=1 “ 打开 . 操作符
let OmniCpp_MayCompleteArrow=1 "打开 -> 操作符
let OmniCpp_MayCompleteScope=1 ”打开 :: 操作符
let OmniCpp_NamespaceSearch=1 “打开命名空间
let OmniCpp_GlobalScopeSearch=1
let OmniCpp_DefaultNamespace=["std"]
let OmniCpp_ShowPrototypeInAbbr=1 “打开显示函数原型
let OmniCpp_SelectFirstItem = 2”自动弹出时自动跳至第一个
set tags+=~/Download/cpp_src/tags
set tags+=~/opt/ros/melodic/tags "告知vim tags所在的路径
参考
OmniCppComplete使用方法
《Vim实用技巧》第六部分