Ubuntu 22.4 C++环境搭建及vim配置

1.C++开发环境安装

1.1 环境更新和升级

在终端中输入以下命令对软件进行刷新,保证后续安装的软件都是最新的:

sudo apt update
sudo apt upgrade

1.2 安装build-essential软件包

build-essential 包含了 GNU 编辑器集合、GNU 调试器、其他编译软件所必需的开发库和工具,简单来说,安装了 build-essential 就相当于安装了 gcc、g++、make 等工具。

sudo apt install build-essential

查看 gcc、g++、make 版本:

gcc --version
g++ --version
make --version

1.3 安装gdb并查看版本

sudo apt install gdb
gdb --version

1.4 安装Cmake并查看版本

sudo apt install cmake
cmake --version

2.Vim配置

首先确认vim版本在8.0以上,且支持Python3,输入:

vim

vim中输入命令:

:version

Ubuntu 22.4 C++环境搭建及vim配置_第1张图片

如图所示,版本为8.1,python3前面+号意为支持python3。ubuntu 22.4的默认vim版本为此版本。

2.1 下载vim-plug

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

下载完成之后保存在:~/.vim/autoload 文件夹内。

2.2 vim的配置

在~/.vim文件夹中新建一个文件vimrc,并使用vim打开,输入以下内容后保存退出。

call plug#begin('~/.vim/plugged')

Plug 'scrooloose/nerdtree'       " 文件树
Plug 'Valloric/YouCompleteMe'    " 代码补全
Plug 'sickill/vim-monokai'
       " monokai主题
Plug 'vim-airline/vim-airline'
   " 美化状态栏
Plug 'vim-airline/vim-airline-themes'
   " 设置airline
Plug 'octol/vim-cpp-enhanced-highlight' " 代码高亮
Plug 'mhinz/vim-signify'
Plug 'dense-analysis/ale'
Plug 'morhetz/gruvbox'
call plug#end()

" 让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

" 文件数的设置
nmap  :NERDTreeToggle
let NERDTreeWinSize=32
let NERDTreeWinPos="right"
let NERDTreeShowHidden=1
let NERDTreeMinimalUI=1
map  :NERDTreeToggle

" YouCompleteMe
set runtimepath+=~/.vim/plugged/YouCompleteMe
let g:ycm_collect_identifiers_from_tags_files = 1
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 = ['', '']
let g:ycm_key_list_previous_completion = ['', '']
let g:ycm_complete_in_strings = 1
let g:ycm_collect_identifiers_from_comments_and_strings = 1
let g:ycm_show_diagnostics_ui = 0
inoremap   pumvisible() ? "\" : "\" |
nnoremap  :YouCompleter GoToDefinitionElseDeclaration|
let g:ycm_global_ycm_extra_conf = "~/.vim/plugged/YouCompleteMe/third_party/ycmd/cpp/yco/.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-cpp-enhanced-highlight 
let g:cpp_classs_scope_highlight = 1
let g:cpp_member_variable_highlight = 1
let g:cpp_class_decl_highlight = 1
let g:cpp_experimental_template_highlight = 1

2.3 vim插件的安装和清理

安装插件,打开vim,在vim中输入命令:

:PlugInstall

删除插件,在vimrc文件中,call plug#begin和call plug#end的插件列表中,将不需要的插件名称删除,并打开vim执行命令:

:PlugClean

2.4 YouCompleteMe的安装

为了确保YouCompleteMe依赖不缺失,执行以下:

cd ~/.vim/plugged/YouCompleteMe
git submodule update --init --recursive

插件安装完成后,打开vim,可能会出现以下错误:

The ycmd server SHUT DOWN (restart with ':YcmRestartServer'). Unexpected exit code -11

需要执行:

sudo apt-get install python3-dev  #如果没有python3-dev,执行第三局会出错
cd ~/.vim/plugged/YouCompleteMe/third_party/ycmd
/usr/bin/python3 build.py

至此全部配置完毕。

2.5 NERDTree的使用

进入当前目录的树形界面,通过小键盘"上下"键,能移动选中的目录或文件。目录前面有"+"号,按Enter会展开目录,文件前面是"-"号,按Enter会在右侧窗口展现该文件的内容,并光标的焦点focus右侧。"ctr+w+h"光标focus左侧树形目录,"ctrl+w+l"光标focus右侧文件显示窗口。多次按"ctrl+w",光标自动在左右侧窗口切换。光标focus左侧树形窗口,按"?"弹出NERDTree的帮助,再次按"?"关闭帮助显示。输入":q"回车,关闭光标所在窗口。

      NERDTree提供了丰富的键盘操作方式来浏览和打开文件,介绍一些常用的快捷键:

  • 和编辑文件一样,通过h j k l移动光标定位
  • 打开关闭文件或者目录,如果是文件的话,光标出现在打开的文件中
  • go 效果同上,不过光标保持在文件目录里,类似预览文件内容的功能
  • i和s可以水平分割或纵向分割窗口打开文件,前面加g类似go的功能
  • t 在标签页中打开
  • T 在后台标签页中打开
  • p 到上层目录
  • P 到根目录
  • K 到同目录第一个节点
  • J 到同目录最后一个节点
  • m 显示文件系统菜单(添加、删除、移动操作)
  • ? 帮助
  • q 关闭
  • 新建文件 ma 在要创建文件的目录中按命令 ma然后键入你要创建的文件名称即可。
  • 删除文件 md 在要删除的文件上按命令md然后输入y回车即可。
  • 移动文件/修改文件名 mm 在要修改的文件上按命令mm然后输入对应的目录和名称回车即可。

你可能感兴趣的:(ubuntu,c++,linux)