0


Vim中C/C++开发全套配置安装,自动补全,YouCompleteMe配置,编译运行,彩色括号,文件树等)

Vim C/C++开发配置

1.基础准备

安装g++ gcc git cmake

sudoapt-getinstall g++ gcc cmake git

安装vim

sudoapt-getinstallvim

2.安装Vim插件管理工具Vundle

Vundle让你可以非常轻松地安装、更新、搜索和清理插件

  1. ctrl + alt + T打开 Terminal 进入到~/.vim文件夹中,如果没有则创建~$ cd ~/.vim/#如果无文件夹#mkdir .vim
  2. ~/.vim目录下创建一个bundle目录,下载Vundle.vim到/.vim/bundle目录下```/.vim$ mkdir bundle~/.vim$ git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim``` 如果无法下载,可以直接点击链接下载到该文件夹中。

3.配置~/vimrc

  1. ~/.vim下创建文件vimrc``````~/.vim$ vim vimrc 将以下内容复制到 vimrcfiletype offsyntax onsetrtp+=~/.vim/bundle/Vundle.vimcall vundle#begin()Plugin 'VundleVim/Vundle.vim'Plugin 'https://hub.fastgit.org/mhinz/vim-startify'" 酷炫的 vim 开始界面Plugin 'scrooloose/nerdtree' " 文件树Plugin 'Valloric/YouCompleteMe'" 代码提示补全插件 Plugin 'sickill/vim-monokai' " monokai主题Plugin 'vim-airline/vim-airline'" 美化状态栏Plugin 'vim-airline/vim-airline-themes' " 设置ailinePlugin 'plasticboy/vim-markdown'" markdown高亮Plugin 'octol/vim-cpp-enhanced-highlight' " C++代码高亮Plugin 'mhinz/vim-signify'Plugin 'dense-analysis/ale'Plugin 'morhetz/gruvbox'" 主题 Plugin 'luochen1990/rainbow' "rainbow parenthesiscall vundle#end()"------------------------------------"-------------keyboard map-----------"-----------------------------------inoremap jj <esc>"-----------------------------------"让vimrc配置变更立即生效'autocmd BufWritePost $MYVIMRC source $MYVIMRCcolorscheme gruvboxset background=dark filetype onset signcolumn=yes "强制显示侧边栏,防止时有时无syntax on setshiftwidth=4settabstop=4let g:ycm_clangd_binary_path='clangd'set number"搜索忽略大小写set ignorecase"搜索逐字符高亮set hlsearchset incsearch" 为C程序提供自动缩进set smartindentset cursorline " 突出显示当前行"光标遇到圆括号、方括号、大括号时,自动高亮对应的另一个圆括号、方括号和大括号"set showmatch"括号自动匹配补全"inoremap (()<Esc>iinoremap [[]<Esc>iinoremap {{}<Esc>iinoremap {{<CR>}<Esc>O" C++的编译和运行map <F5> :call CompileRunGpp()<CR>func! CompileRunGpp()exec "w"exec "!g++ % -o %<"exec "! ./%<"endfunc"rainbow parenthesislet g:rainbow_active =1" 文件树的设置nmap <Leader><Leader> :NERDTreeToggle<CR>let NERDTreeWinSize=32" 设置NERDTree子窗口宽度letNERDTreeWinPos="left"" 设置NERDTree子窗口位置let NERDTreeShowHidden=1 " 显示隐藏文件letNERDTreeMinimalUI=1" NERDTree 子窗口中不显示冗余帮助信息let g:rainbow_conf = {\ 'guifgs': ['royalblue3', 'darkorange3', 'seagreen3', 'firebrick'],\ 'ctermfgs': ['lightblue', 'lightyellow', 'lightcyan', 'lightmagenta'],\ 'operators': '_,\|+\|-_',\ 'parentheses': ['start=/(/ end=/)/ fold', 'start=/\[/ end=/\]/ fold', 'start=/{/ end=/}/ fold'],\ 'separately': {\ '*': {},\ 'tex': {\ 'parentheses': ['start=/(/ end=/)/', 'start=/\[/ end=/\]/'],\ },\ 'css': 0,\ }\}" 绑定F2到NERDTreeTogglemap <F2> :NERDTreeToggle<CR>" YouCompleteMeset runtimepath+=~/.vim/bundle/YouCompleteMelet g:ycm_collect_identifiers_from_tags_files = 1 " 开启 YCM 基于标签引擎let g:ycm_collect_identifiers_from_comments_and_strings =1" 注释与字符串中的内容也用于补全let g:syntastic_ignore_files=[".*\.py$"]let g:ycm_seed_identifiers_with_syntax = 1 " 语法关键字补全let g:ycm_complete_in_comments =1let g:ycm_confirm_extra_conf =0let g:ycm_key_list_select_completion =['<c-n>', '<Down>']" 映射按键, 没有这个会拦截掉tab, 导致其他插件的tab不能用.let g:ycm_key_list_previous_completion = ['<c-p>', '<Up>']let g:ycm_complete_in_comments = 1 " 在注释输入中也能补全let g:ycm_complete_in_strings =1" 在字符串输入中也能补全let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释和字符串中的文字也会被收入补全let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'let g:ycm_show_diagnostics_ui =0" 禁用语法检查inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>" | " 回车即选中当前项nnoremap <c-j> :YcmCompleter GoToDefinitionElseDeclaration<CR>|" 跳转到定义处"let g:ycm_min_num_of_chars_for_completion=2" 从第2个键入字符就开始罗列匹配项let g:ycm_global_ycm_extra_conf = "~/.vim/plugged/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py" "" airlinelet laststatus =2let g:airline_powerline_fonts =1let g:airline_theme ="dark"let g:airline#extensions#tabline#enabled = 1"" vim-monokai" colorscheme monokai"" vim-markdown" Github风格markdown语法let g:vim_markdown_no_extensions_in_markdown = 1"" vim-cpp-enhanced-highlightlet g:cpp_class_scope_highlight =1let g:cpp_member_variable_highlight =1let g:cpp_class_decl_highlight =1let g:cpp_experimental_template_highlight =1" 自定义error和warning图标let g:ale_sign_error = '✗'let g:ale_sign_warning = '⚡'" 显示Linter名称,出错或警告等相关信息let g:ale_echo_msg_error_str ='E'let g:ale_echo_msg_warning_str ='W'let g:ale_echo_msg_format ='[%linter%] %s [%severity%]'"设置状态栏显示的内容,这里必须添加%{ALEGetStatusLine()到状态栏里"设置ale显示内容let g:ale_statusline_format =['✗ %d', '⚡ %d', '✔ OK']" 对verilog、c++、c、python单独设置linterlet g:ale_linters ={'verilog':['vlog'],\'c++':['clangd'],\'c':['gcc'],\'python':['pylint'],\}let g:ale_lint_on_text_changed =1let g:ale_set_loclist =0let g:ale_set_quickfix =1

4.安装插件

  1. terminal中输入vim命令~$ vim
  2. 进入到vim中后输入 :PluginInstall命令安装插件在这里插入图片描述 安装完成,如下如图所示在这里插入图片描述### 5.自动补全插件YouCompleteMe的配置 进行到这一步,vim基本已经配置差不多啦,最后来进行自动补全的配置。 此时打开vim底部会出现YCM的报错,现在来解决。 1. 安装python3python3-dev``````~$ sudoaptinstall python3 python3-dev1. 执行如下命令(使用绝对路径)~$ /usr/bin/python3 ~/.vim/bundle/YouCompleteMe/install.py --all--verbose

在这里插入图片描述

    3.出现如下界面表示成功

在这里插入图片描述

6.Vim演示

在这里插入图片描述
可以愉快的玩耍啦,开启你的vim C++ 之旅吧!

标签: vim c++ ubuntu

本文转载自: https://blog.csdn.net/m0_52910424/article/details/132063716
版权归原作者 Drailife 所有, 如有侵权,请联系我们删除。

“Vim中C/C++开发全套配置安装,自动补全,YouCompleteMe配置,编译运行,彩色括号,文件树等)”的评论:

还没有评论