当前位置: 代码网 > it编程>编程语言>C/C++ > Vim中C/C++开发全套配置安装,自动补全,YouCompleteMe配置,编译运行,彩色括号,文件树等)

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

2024年08月06日 C/C++ 我要评论
Vim中C/C++开发全套配置安装,自动补全,YouCompleteMe配置,编译运行,彩色括号,文件树等)

vim c/c++开发配置

1.基础准备

安装g++ gcc git cmake

sudo apt-get install g++ gcc cmake git

安装vim

sudo apt-get install vim

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. ~下创建文件.vimrc
    ~/$ vim .vimrc
    
    将以下内容复制到 .vimrc
    filetype off
    syntax on
    set rtp+=~/.vim/bundle/vundle.vim
    call vundle#begin()
    plugin 'vundlevim/vundle.vim'
    plugin 'scrooloose/nerdtree'               " 文件树
    plugin 'valloric/youcompleteme'			 " 代码提示补全插件	
    plugin 'sickill/vim-monokai'               " monokai主题
    plugin 'vim-airline/vim-airline'           " 美化状态栏
    plugin 'vim-airline/vim-airline-themes'    " 设置ailine
    plugin '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 parenthesis
    call vundle#end()
    
    "------------------------------------
    "-------------keyboard map-----------
    "-----------------------------------
    inoremap jj <esc>
    "-----------------------------------
    "让vimrc配置变更立即生效'
    autocmd bufwritepost $myvimrc source $myvimrc
    colorscheme gruvbox
    set background=dark 
    filetype on
    set signcolumn=yes "强制显示侧边栏,防止时有时无
    syntax on 
    set shiftwidth=4
    set tabstop=4
    let g:ycm_clangd_binary_path='clangd'
    set number
    "搜索忽略大小写
    set ignorecase
    "搜索逐字符高亮
    set hlsearch
    set incsearch
    " 为c程序提供自动缩进
    set smartindent
    set cursorline " 突出显示当前行
    "光标遇到圆括号、方括号、大括号时,自动高亮对应的另一个圆括号、方括号和大括号"
    set showmatch
    
    "括号自动匹配补全"
    inoremap ( ()<esc>i
    inoremap [ []<esc>i
    inoremap { {}<esc>i
    inoremap { {<cr>}<esc>o
    " c++的编译和运行
    map <f5> :call compilerungpp()<cr>
    func! compilerungpp()
    exec "w"
    exec "!g++ % -o %<"
    exec "! ./%<"
    endfunc
    
    "rainbow parenthesis
    let g:rainbow_active = 1
    " 文件树的设置
    nmap <leader><leader> :nerdtreetoggle<cr>
    let nerdtreewinsize=32
    " 设置nerdtree子窗口宽度
    let nerdtreewinpos="left"      " 设置nerdtree子窗口位置
    let nerdtreeshowhidden=1        " 显示隐藏文件
    let nerdtreeminimalui=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到nerdtreetoggle
    map <f2> :nerdtreetoggle<cr>
    
    
    " youcompleteme
    set runtimepath+=~/.vim/bundle/youcompleteme
    let 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 = 1
    let g:ycm_confirm_extra_conf = 0
    let 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"
      
    
    
    "" airline
    let laststatus = 2
    let g:airline_powerline_fonts = 1
    let 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-highlight
    let g:cpp_class_scope_highlight = 1
    let g:cpp_member_variable_highlight = 1
    let g:cpp_class_decl_highlight = 1
    let 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单独设置linter
    let g:ale_linters = { 'verilog': ['vlog'],
    \   'c++': ['clangd'],
    \   'c': ['gcc'],
    \   'python': ['pylint'],
    \}
    
    let g:ale_lint_on_text_changed = 1
    let g:ale_set_loclist = 0
    let g:ale_set_quickfix = 1
    

4.安装插件

  1. terminal中输入vim命令
    ~$ vim
    
  2. 进入到vim中后输入 :plugininstall命令安装插件
    在这里插入图片描述
    安装完成,如下如图所示在这里插入图片描述

    5.自动补全插件youcompleteme的配置

    进行到这一步,vim基本已经配置差不多啦,最后来进行自动补全的配置。
    此时打开vim底部会出现ycm的报错,现在来解决。
    1. 安装python3python3-dev
    ~$ sudo apt install python3 python3-dev
    
    1. 执行如下命令(使用绝对路径)
    ~$ /usr/bin/python3 ~/.vim/bundle/youcompleteme/install.py --all --verbose
    

在这里插入图片描述

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

在这里插入图片描述

6.vim演示

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

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com