c++ completion (vim)

本文介绍了如何利用vim和omnicppcompletion插件进行Qt开发,包括自定义tags目录路径、语法高亮设置、qt4关键字添加等技巧,实现Qt项目开发的高效和便捷。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

QtCreator用起来真的是很折磨人。还是使用vim吧。插件omnicppcompletion,生成stl和qt4的tags作为全能补全的根基,在使用过程中再生成

tags做为跳转和补全的更新。

 

和参考上不同的是:

1.生成的tags我放在了~/.vim/tags/qt4/ &~/.vim/tags/stl/目录下面(Debian的qt4头文件放在/usr/include/qt4里面,而openSUSE和Mandriva放在/usr/lib/qt4/include里面)。

2. 在修改syntax的时候,没有选择全局的配置文件/usr/share/vim/vim73/syntax/cpp.vim(而且没有在c.vim里面改),,而是在~/.vim/目录下面

新建了一个目录syntax,并把cpp.vim拷贝到此处,这样对全局没有修改,如果出错了还很容易恢复。

 

在cppStatement中添加了qt4的statement:  connect, SIGNAL, SLOT

 

并且在cppType中增加了http://sector.ynet.sk/qt4-tutorial/other/vim-qt4/vim-qt4-keywords.txt文件里的内容。

在文件中syn keyword cppType是可以累加的,并不覆盖该文件改语句前面的相同类型的配置。所以可以在文件最后添加

这条语句。

 

 

 

参考:

 

http://en.kioskea.net/faq/2367-the-autocompletion-c-c-in-vim

http://sector.ynet.sk/qt4-tutorial/other/vim-qt4.html

 

03-20
### 配置 Vim 进行 C++ 开发 为了在 Vim 中高效地编辑和开发 C++ 项目,可以通过以下方式实现: #### 安装必要的插件和支持工具 Vim 可以通过安装一些插件来增强其功能,使其更适合用于 C++ 编程。常用的插件包括 `vim-cpp-enhanced-highlight` 和 `YouCompleteMe`。 - **语法高亮**: 使用 `vim-cpp-enhanced-highlight` 插件可以提供更丰富的 C++ 语法高亮效果[^1]。 ```bash git clone https://github.com/octol/vim-cpp-enhanced-highlight ~/.vim/pack/plugins/start/vim-cpp-enhanced-highlight ``` - **自动补全**: `YouCompleteMe` 是一个强大的代码补全引擎,支持多种编程语言,包括 C++[^2]。 ```bash git clone --depth=1 https://github.com/ycm-core/YouCompleteMe.git ~/.vim/plugged/YouCompleteMe cd ~/.vim/plugged/YouCompleteMe python3 ./install.py --clang-completer ``` #### 设置默认配置文件 创建或修改 `.vimrc` 文件以加载这些插件并设置其他选项。以下是适合 C++ 的基本配置示例: ```vim " 启用语法高亮 syntax on " 自动缩进 set autoindent set smartindent " 显示行号 set number " 改变制表符宽度为4个空格 set tabstop=4 set shiftwidth=4 set expandtab " 加载cpp增强语法高亮 packadd vim-cpp-enhanced-highlight " YouCompleteMe快捷键绑定 (可选) let g:ycm_key_list_select_completion=['<Tab>'] let g:ycm_key_list_previous_completion=['<S-Tab>'] " 其他C++特定设置 autocmd FileType cpp setlocal formatoptions+=croql ``` #### 调试与编译集成 可以在 `.vimrc` 中定义命令以便于调用外部编译器(如 GCC 或 Clang)。例如: ```vim command! -nargs=* Make execute 'w' | !g++ % -o %< && ./%< ``` 这允许用户通过输入`:Make` 来保存当前缓冲区中的更改、编译程序以及运行它。 #### 总结 上述方法展示了如何利用 Vim 的灵活性定制化环境来进行高效的 C++ 开发工作流。除了基础的文本操作外,还引入了现代特性比如智能感知和错误检测等功能提升生产力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值