Qt创建者标记文件 我使用VIM进行C++代码编辑。但是它的代码完成不是很好(尽管我已经尝试了很多插件,比如OmniCppComplete)。QtCreator代码的完成非常棒,它还具有vim风格的编辑功能,这对我来说已经足够充分了。唯一对我来说不太好的是,我不能在Qt-Creator中使用ctags功能(虽然Qt-Creator具有转到类定义的功能,但解析源代码需要更多的时间) < >可以在伪VIM模式下创建QT-创建者的源代码标签文件吗? < P> C++中的VC++代码完成实际上是优越的。我将概述你必须采取的步骤,以使其发挥作用。然而,我不会在这里详细介绍(比如构建庞大的开源代码库、克隆存储库、安装Vim插件等等),因为否则值得为新手编写一个大型教程。因此,假设您对软件开发人员有很好的了解并做好了充分的准备,那么您就可以获得一个流畅的指南:
获取并安装(Vim插件)Qt创建者标记文件 我使用VIM进行C++代码编辑。但是它的代码完成不是很好(尽管我已经尝试了很多插件,比如OmniCppComplete)。QtCreator代码的完成非常棒,它还具有vim风格的编辑功能,这对我来说已经足够充分了。唯一对我来说不太好的是,我不能在Qt-Creator中使用ctags功能(虽然Qt-Creator具有转到类定义的功能,但解析源代码需要更多的时间) < >可以在伪VIM模式下创建QT-创建者的源代码标签文件吗? < P> C++中的VC++代码完成实际上是优越的。我将概述你必须采取的步骤,以使其发挥作用。然而,我不会在这里详细介绍(比如构建庞大的开源代码库、克隆存储库、安装Vim插件等等),因为否则值得为新手编写一个大型教程。因此,假设您对软件开发人员有很好的了解并做好了充分的准备,那么您就可以获得一个流畅的指南:,qt,vim,qt-creator,ctags,Qt,Vim,Qt Creator,Ctags,获取并安装(Vim插件) 获取并安装(Vim插件) 如果您在Unix上,那么您是幸运的,因为您可能已经在系统上安装了,或者您必须使用package manager并使用单个命令安装它们。如果是这样,那么您可以立即跳到最后一步(#7) 如果你使用的是Windows,那么你就不那么幸运了,但从实用的角度来看,这实际上是更好的——你将拥有一个很好的经验,可以自己建造巨大的东西,并且无论发生什么事情都能让它正常工作。:) 因此,如果您在Windows上(并且使用Qt Creator,如我所见),那么您的
%PATH%
中%PATH%
环境变量中%PATH%
中有关这两个插件的更多信息,请使用Vim的帮助文档:
:h clang_complete
和:h neocomplcache
。有很多选项可以调整,特别是在neocomplcache
中。从我的观点来看,对于使用VIM ./P>的任何C++开发人员来说,插件都是<强>必须有< /强>。
注意:如果您不知道如何完成此处列出的某些步骤,您必须在此处询问有关StackOverflow的其他问题,或者在其他地方查找答案开头所述的原因
我希望这对您有所帮助,您也会从现在起更加支持Vim的开发工作。:) QtCreator只有“fakevim”,没有嵌入vim。除了基本的vim功能外,可能什么都不支持。难道不能只做
ctags-R/usr/include/qt5/
?
let g:neocomplcache_enable_at_startup = 1
let g:neocomplcache_enable_smart_case = 1
let g:neocomplcache_enable_camel_case_completion = 1
let g:neocomplcache_enable_underbar_completion = 1
let g:neocomplcache_min_syntax_length = 2
if !exists('g:neocomplcache_force_omni_patterns')
let g:neocomplcache_force_omni_patterns = {}
endif
let g:neocomplcache_force_overwrite_completefunc = 1
let g:neocomplcache_force_omni_patterns.c = '[^.[:digit:] *\t]\%(\.\|->\)'
let g:neocomplcache_force_omni_patterns.cpp = '[^.[:digit:] *\t]\%(\.\|->\)'
\ . '\|\h\w*::'
let g:neocomplcache_force_omni_patterns.objc = '[^.[:digit:] *\t]\%(\.\|->\)'
\ . '\|\h\w*::'
let g:neocomplcache_force_omni_patterns.objcpp = '[^.[:digit:] *\t]\%(\.\|->\)'
\ . '\|\h\w*::'
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
let g:clang_use_library = 1
let g:clang_auto_select = 0
let g:clang_complete_auto = 0
let g:clang_complete_copen = 1
let g:clang_complete_macros = 1
let g:clang_complete_patters = 1
let g:clang_library_path = 'D:/Toolchains/x64/LLVM/3.3/bin'
let g:clang_auto_user_options = 'path, .clang_complete'