Answers:
如果可以设置YouCompleteMe,则它支持C,C ++,JavaScript,Go和其他一些语言。实际情况如下:
安装有点烦人,安装完成后,您需要通过创建来针对C和C ++配置它.ycm_extra_conf.py
。我从此仓库中取出一个,并获得了这种效果。
qsort(a
,弹出窗口就会消失,从而很难记住下一个参数。
YcmCompleter GoTo
,它通常会将您带到代码中定义函数/类的地方。这是文档字符串上方的那一行,其中列出了您所要求的所有内容。我不确定内联注释是否在C / Java / C ++中位于同一位置。
对于C,按下K
关键字将直接拉出内置手册页。例如,将光标放在printf
关键字上:
printf("Hello, %s!", foo);
现在按K
(大写字母K),联机帮助页printf
应出现在VIM中:
NAME
printf - format and print data
SYNOPSIS
printf FORMAT [ARGUMENT]...
printf OPTION
DESCRIPTION
Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:
--help display this help and exit
--version
output version information and exit
FORMAT controls the output as in C printf. Interpreted sequences are:
\" double quote
\\ backslash
... It continues for quite a few scrollable pages
在我尝试过的所有Debian发行版中,这似乎都是开箱即用的,不需要特定的配置。
printf(1)
命令的手册页,而不是printf(3)
函数。无论如何,C函数手册页来自manpages-dev
,通常默认情况下会安装from ,但并非总是如此,并且POSIX函数位于manpages-posix-dev
-通常默认情况下未安装,C ++文档(libstdc++-X.Y-doc
)也没有。
如果您需要适当的文档,则saginaw注释中的插件似乎可以满足您的C ++需求。我不知道通用的语言,但您可能可以在vim.org上找到其他语言的替代语言。
如果…
您可以用来<C-w>}
在预览窗口中的光标下方打开关键字的定义。YMMV,当然。
见:help preview-window
,:help tags
和:help ctags
。
您还可以使用Vim内置的“包含搜索”功能:[i
在命令行中按此键可在光标下打印单词的“签名”:
请参阅:help include-search
。
[i
很奇怪。它适用于stdlib.h
和qsort
,但不适用于cstdlib
and std::qsort
或just qsort
。
<C-w>
意味着文件中CTRL-W
使用的命名法:help
。然后,您可以:pc
用来关闭预览窗口。
如前所述K
,通过搜索手册页可以在关键字上按下。要获取C ++手册页,您可以尝试https://github.com/aitjcize/cppman(它从cplusplus.com和cppreference.com获取“手册页”)。
'keywordprg'
(可以处理所需语言文档的程序名称),则可以点击K
一个关键字(可以是函数),则应获取所需的信息。例如,如果您安装cppman
(github.com/aitjcize/cppman)并在vimrc内添加一个autocmd,例如autocmd FileType cpp setlocal keywordprg=cppman
,cppman
则应在c ++缓冲区内处理文档。虽然没有测试。