30

我使用 vim 编写 c++ 代码。

很多时候,我发现自己在浪费时间(和中断流程)查找琐碎的事情,例如:

是 std::string.substring 需要(开始,长度)还是(开始,结束)。

这通常会导致浏览器打开;等待; 在谷歌上搜索;第一个链接没用,试试第二个链接;好的,完成了。

其他人如何在 vim 中做到这一点?是否有一个不错的 *.tgz 我可以下载标准函数文档并以某种方式在 vim 中引用它们?

谢谢!

4

6 回答 6

30

您还可以使用cppman,它提供:

适用于 Linux/MacOS 的 C++ 98/11/14 手册页

在此处输入图像描述

man然后你可以在输入 Vim 时使用它来代替ShiftK(参见@alesplin 的回答):

autocmd FileType cpp set keywordprg=cppman

这将打开一个man带有 STL 文档的漂亮页面,您可以使用 Vim 分页器导航该页面。

为了更好地与 Vim 集成,它可能与vim-man或任何其他类似插件一起使用。

就个人而言,我绕过了对 C++ 文件keywordprg的重新映射,并打开了一个 tmux 拆分:ShiftK

command! -nargs=+ Cppman silent! call system("tmux split-window cppman " . expand(<q-args>))
autocmd FileType cpp nnoremap <silent><buffer> K <Esc>:Cppman <cword><CR>

多路复用器

于 2015-05-21T12:25:52.823 回答
11

我没有使用 C++ 编程,但如果有相关函数的手册页,您可以通过将光标放在函数名上并点击ShiftK. 这仅适用于安装了手册页的功能,因此您的里程可能会有所不同。

于 2010-02-25T21:06:02.247 回答
5

推荐zeal,它是一个离线文档浏览器。使用zealvim,您可以\z根据文件类型获取当前单词的定义。

于 2015-05-22T07:49:50.647 回答
4

这可能会有所帮助:

OmniCppComplete - 带有 ctags 数据库的 C/C++ 全方位完成

也看看这个:

C++ 代码完成

您还可以查看Vim Intellisense for C++:

Vim Intellisense - C++ 插件

于 2010-02-16T12:28:28.410 回答
0

我知道这是一个老问题,但我正在寻找同样的东西,但没有一个答案对我有帮助。如果其他人提出这个问题,他们可能会发现这很有用。

您应该使用CRefVim 插件。有了它,您将可以完全访问 c 参考手册。它适用于 C,而不适用于 C++,但它仍然非常方便。

用法:


There are several ways to specify a word CRefVim should search for in order 
to view help: 

cr normal mode: get help for word under cursor Memory aid cr: (c)-(r)eference cr visual mode: get help for visually selected text Memory aid cr: (c)-(r)eference cw: prompt for word CRefVim should search for Memory aid cw: (c)-reference (w)hat cc: jump to table of contents of the C-reference manual Memory aid cc: (c)-reference (c)ontents

Note: by default is \, e.g. press \cr to invoke C-reference

Note: The best way to search for an operator (++, --, %, ...) is to visually select it and press cr.

To get help do :help crefvimdoc To show the C-reference manual do :help crefvim

你也可以用:help。要搜索功能的帮助,请像这样使用它

:help crv-FUNCTION_NAME

使用:h crv-strlen,您将找到有关strlen()功能的帮助。:h crv-operator将帮助您找到有关 C 运算符的部分。

于 2013-07-16T11:53:38.177 回答
0

不是真正的答案,因为它不是“vim 内部”……但你为什么不删掉“打开浏览器,搜索 Google”部分呢?只需将您的浏览器指向一个好的 API 文档,并保持打开状态。http://www.dinkumware.com/manuals/default.aspx是我的最爱(也可以下载离线参考),http ://www.cplusplus.com/reference/也不错。一个窗口开关,然后点击两三下,你就有答案了;我怀疑“内部 vim”解决方案对您的工作流程的破坏性要小得多。

话虽如此,对于那些在纯文本界面上工作的人来说,在 vim 中有一个解决方案会很好,所以我期待其他答案。;-)

于 2010-02-16T12:21:23.423 回答