C/C++知识点之Vim配置:在win10下编译运行C/C++
小标 2018-12-26 来源 : 阅读 1905 评论 0

摘要:本文主要向大家介绍了 C/C++知识点之Vim配置:在win10下编译运行C/C++,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

本文主要向大家介绍了 C/C++知识点之Vim配置:在win10下编译运行C/C++,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

为什么用Vim
nvim对windows实在是不是很友好,所以打算弃坑。本来想直接用spacevim的,本来以前安装好了,无奈手贱,给删了,现在在配置后发现老是有问题,所以放弃spacevim,在过个半年一年之后再来看看。
所以,开始重新调配vim。
安装
官网下载
PC: MS-DOS and MS-Windows下的
For modern MS-Windows systems (starting with XP) you can simply use the executable installer:gvim80.exe
双击执行,放到合适的目录。
不过这个貌似是没有编译的,有些插件不能完全用,最好再在github这里下载gvim_8.0.1763_x64.zip解压到原来安装好的目录里去。
插件管理vim-plug
vim-plug

直接复制这个链接里的plug.vim的代码,到D:\Editor\Vim\vim80\autoload下,创建plug.vim,粘贴代码,就可以了。

接下来就是vim-plug的用法了。对了,用vim-plug的原因是它支持异步,下载管理更快。
在D:\Editor\Vim_vimrc中写入
call plug#begin('D:\Editor\Vim\vimfiles\plug')

"状态栏的例子
Plug 'bling/vim-airline'
Plug 'vim-airline/vim-airline-themes'

call plug#end()

"关于状态栏的小配置
"Powerline setting
let g:airline_theme='molokai'
let g:airline_powerline_fonts = 1
保存。
打开gvim.exe,运行:PlugInstall安装好插件后,就能使用了这些插件了。
更多插件
必备插件
"美化
Plug ‘flazz/vim-colorschemes‘
"状态栏
Plug ‘bling/vim-airline‘
Plug ‘vim-airline/vim-airline-themes‘
"一只说话的狗
Plug ‘mhinz/vim-startify‘
"主题选择
Plug ‘tomasr/molokai‘
Plug ‘morhetz/gruvbox‘
"文件树
Plug ‘scrooloose/nerdtree‘
"文件搜索
Plug ‘Yggdroot/LeaderF‘
"异步语法检查
Plug ‘w0rp/ale‘
"括号补全
Plug ‘jiangmiao/auto-pairs‘
"注释代码工具
"\cc注释当前行 \cu 撤销注释当前行 \cs sexily注释 \cA 行尾注释,切换成输入模式
Plug ‘scrooloose/nerdcommenter‘
"编译运行
"F4 添加作者信息,更新作者信息
"F9 一键保存、编译、连接存并运行
"Ctrl + F9 一键保存并编译
"Ctrl + F10 一键保存并连接
"F8 编译调试(仅限于单文件)(gdb)
Plug ‘Svtter/ACM.vim‘
"自动补全
Plug ‘ervandew/supertab‘
"自动弹出提示
Plug ‘vim-scripts/AutoComplPop‘
我的_vimrc文件
 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

"                                  PlugList                                  "

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

call plug#begin('D:\Editor\Vim\vimfiles\plug')

"美化

Plug 'flazz/vim-colorschemes'

"状态栏

Plug 'bling/vim-airline'

Plug 'vim-airline/vim-airline-themes'

"一只说话的狗

Plug 'mhinz/vim-startify'

"主题选择

Plug 'tomasr/molokai'

Plug 'morhetz/gruvbox'

"文件树

Plug 'scrooloose/nerdtree'

"文件搜索

Plug 'Yggdroot/LeaderF'

"非异步语法检查,已弃用

"Plug 'scrooloose/syntastic'

"异步语法检查

Plug 'w0rp/ale'

"括号补全

Plug 'jiangmiao/auto-pairs'

"注释代码工具

"\cc注释当前行 \cu 撤销注释当前行 \cs sexily注释 \cA 行尾注释,切换成输入模式

Plug 'scrooloose/nerdcommenter'

"编译运行

"F4 添加作者信息,更新作者信息

"F9 一键保存、编译、连接存并运行

"Ctrl + F9 一键保存并编译

"Ctrl + F10 一键保存并连接

"F8 编译调试(仅限于单文件)(gdb)

Plug 'Svtter/ACM.vim'

"自动补全

Plug 'ervandew/supertab'

"自动弹出

Plug 'vim-scripts/AutoComplPop'

call plug#end()

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

"                              plugin settings                               "

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

"set my leader

let mapleader=";"

"let mapleader="\"

set nocompatible

" Initialize plugin system

filetype plugin indent on

"加强版状态栏

let g:airline_theme='molokai'

"使用powerline打过补丁的字体

let g:airline_powerline_fonts = 1

"关闭状态显示空白符号计数,这个对我用处不大"

let g:airline#extensions#whitespace#enabled = 0

let g:airline#extensions#whitespace#symbol = '!'

"开启tabline

let g:airline#extensions#tabline#enabled = 1

"tabline中buffer显示编号

let g:airline#extensions#tabline#buffer_nr_show = 1

" 配色方案

set background=dark

"colorscheme solarized

"colorscheme molokai

colorscheme gruvbox

"colorscheme phd

" 工程文件浏览

" 使用 NERDTree 插件查看工程文件。

nmap f :NERDTreeToggle

" 设置 NERDTree 子窗口宽度

let NERDTreeWinSize=22

" 设置 NERDTree 子窗口位置

let NERDTreeWinPos="left"

" 显示隐藏文件

let NERDTreeShowHidden=1

" NERDTree 子窗口中不显示冗余帮助信息

let NERDTreeMinimalUI=1

" 删除文件时自动删除文件对应 buffer

let NERDTreeAutoDeleteBuffer=1

"ale

"始终开启标志列

let g:ale_sign_column_always = 1

let g:ale_set_highlights = 0

"显示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%]'

"普通模式下,sp前往上一个错误或警告,sn前往下一个错误或警告

nmap sp (ale_previous_wrap)

nmap sn (ale_next_wrap)

"s触发/关闭语法检查

nmap s :ALEToggle

"d查看错误或警告的详细信息

nmap d :ALEDetail

"文件内容发生变化时不进行检查

"let g:ale_lint_on_text_changed = 'never'

"打开文件时不进行检查

"let g:ale_lint_on_enter = 0

"对C/C++使用Clang进行语法检查

let g:ale_linters = {'c': 'clang'}

let g:ale_linters = {'c++': 'clang++'}

"禁用了javascript的eslint

let g:ale_linters = {

\   'javascript': ['eslint'],

\}

"LeaderF

"这里定义了 CTRL+P 在当前项目目录打开文件搜索,CTRL+N 打开 MRU搜索,搜索你最近打开的文件,这两项是我用的最频繁的功能。接着 ALT+P 打开函数搜索,ALT+N 打开 Buffer 搜索

let g:Lf_ShortcutF = ''

let g:Lf_ShortcutB = ''

noremap  :LeaderfMru

noremap  :LeaderfFunction

noremap  :LeaderfBuffer

noremap  :LeaderfTag

let g:Lf_StlSeparator = { 'left': '', 'right': '', 'font': '' }

let g:Lf_RootMarkers = ['.project', '.root', '.svn', '.git']

let g:Lf_WorkingDirectoryMode = 'Ac'

let g:Lf_WindowHeight = 0.30

let g:Lf_CacheDirectory = expand('~/.vim/cache')

let g:Lf_ShowRelativePath = 0

let g:Lf_HideHelp = 1

let g:Lf_StlColorscheme = 'powerline'

let g:Lf_NormalMap = {

    \ "File":   [["", ':exec g:Lf_py "fileExplManager.quit()"'],

    \            ["", ':exec g:Lf_py "fileExplManager.quit()"'] ],

    \ "Buffer": [["", ':exec g:Lf_py "bufExplManager.quit()"'],

    \            ["", ':exec g:Lf_py "bufExplManager.quit()"'] ],

    \ "Mru":    [["", ':exec g:Lf_py "mruExplManager.quit()"']],

    \ "Tag":    [["", ':exec g:Lf_py "tagExplManager.quit()"']],

    \ "Function":    [["", ':exec g:Lf_py "functionExplManager.quit()"']],

    \ "Colorscheme":    [["", ':exec g:Lf_py "colorschemeExplManager.quit()"']],

    \ }

"自动补全

"补全完成时预览窗口自动消失

augroup complete

  autocmd!

  autocmd CompleteDone * pclose

augroup end

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

"                               common setting                               "

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

cd D:\Code\VimCode

" 设置 gvim 显示字体

set guifont=DejaVu\ Sans\ Mono\ for\ Powerline:h11

" 取消菜单栏和导航栏  

set guioptions-=m  

set guioptions-=T  

" 去除左右两边滚动条

set go-=r

set go-=L

" 设置水平行数和竖直列数  

set lines=30  

set columns=90

" 总是显示状态栏

set laststatus=2

" 显示光标当前位置

set ruler

" 开启行号显示

set number

" 上下行号关联

set relativenumber

" 高亮显示当前行/列

set cursorline

set cursorcolumn

" 高亮显示搜索结果

set hlsearch

"自动换行整词换行

set wrap

set linebreak

"自动设置当前目录为正在编辑的目录

set autochdir     

"在光标接近底端或顶端时,自动下滚或上滚

set scrolloff=10     

"文件打开方式

set tenc=utf-8

set encoding=utf-8

set fileencodings=utf-8,chinese,latin-1

if has("win32")

    set fileencoding=chinese

else

    set fileencoding=utf-8

endif

"解决菜单乱码

source $VIMRUNTIME/delmenu.vim

source $VIMRUNTIME/menu.vim

"解决consle输出乱码

language messages zh_CN.utf-8

" 开启实时搜索功能

set incsearch

" 搜索时大小写不敏感

set ignorecase

" 关闭兼容模式

set nocompatible

" 没有八进制

set nrformats=

" vim 自身命令行模式智能补全

set wildmenu

"设置当文件在外部被修改,自动更新该文件

set autoread         

"设置不生成备份文件

set nobackup   

" 缩进

" 自适应不同语言的智能缩进

filetype indent on

" 将制表符扩展为空格

set expandtab

" 设置编辑时制表符占用空格数

set tabstop=4

" 设置格式化时制表符占用空格数

set shiftwidth=4

" 让 vim 把连续数量的空格视为一个制表符

set softtabstop=4

"退格键不能用问题

set backspace=indent,eol,start

syntax on

syntax enable

set autoread

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

"                               keyboard-binding                             "

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

" 设置快捷键将选中文本块复制至系统剪贴板

vnoremap y "+y

" 设置快捷键将系统剪贴板内容粘贴至vim

nmap p "+p

" 定义快捷键关闭当前分割窗口

nmap q :q

" 定义快捷键保存当前窗口内容

nmap w :w

" 定义快捷键保存所有窗口内容并退出 vim

nmap WQ :wa:q

" 不做任何保存,直接退出 vim

nmap Q :qa!

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved