Vim

基于语义的声明、定义跳转

有个 VIM 插件叫 YCM,有个 C++ 编译器叫 clang,只要正确使用它俩,你将获得无与伦比的代码导航用户体验,以及,代码补全。当然,代价是相对复杂的配置,涉及几个后续章节知识点(“基于语义的智能补全”和“编译器/构建工具集成”),正因如此,此时我只给出快捷键设置,在看完“基于语义的智能补全”后请返回此处,重新查阅。

请增加如下快捷键到 .vimrc 中:

nnoremap <leader>jc :YcmCompleter GoToDeclaration<CR>
" 只能是 #include 或已打开的文件
nnoremap <leader>jd :YcmCompleter GoToDefinition<CR>

效果如下:

基于语义的跳转基于语义的跳转

另外,基于标签的调整建议你也要了解,有助于你熟悉标签系统,毕竟,使用标签的插件很有几个。