目录

  • 一、YouCompleteMe
  • 二、NERDTree
  • 三、 highlight
  • 四、vim-airline, vim-airline-themes,powerline-fonts
  • 五、Vim更换主题

一、YouCompleteMe

号称Vim中最好的自动补全插件,大名鼎鼎的YCM,不需多说。

只是最新版的YCM需要Linux中的gcc和g++支持C++17,且需要Vim版本为8.2.0及以上,需升级一下。

补全效果如下:

二、NERDTree

目录树插件,可以在Vim中直接看到目录,并打开选中的文件,效果如下图中的左边栏

三、 highlight

语法高亮插件,可以使STL中的类型名等高亮,如string的效果如下(但貌似不能使自己写的类高亮):

四、vim-airline, vim-airline-themes,powerline-fonts

vim-airline用于在Vim中美化上下标签栏(如下图中的绿色标签);但美化的主题需要通过vim-airline-themes下载;同时,想用如下图所示的小箭头标志的话,还要下载powerline-fonts以提供箭头字符的支持。最终效果如下:


上下绿色的标签就是vim-airline的作用了。如果用NERDTree打开多个标签,那么Vim的上边栏将是这个样子:

五、Vim更换主题

这个其实就不是插件了。只要到github把喜欢的主题文件下载下来,把其中的颜色配置文件xxx.vim拷贝到~/.vim/colors文件夹中,然后在~/.vimrc中加入一行命令:

"xxx为颜色配置文件`xxx.vim`中的xxx"
colorscheme xxx

就可以了。

如我用的 janah 主题颜色如下:




注:上面提到的所有Vim插件不止要下载,还要在~/.vimrc中配置一些选项。因此在这里附上我的~/.vimrc配置文件供大家参考:

set nocompatible              " be iMproved, required
filetype off                  " required"设置编码"
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8"如此设置,vim-airline可显示顶端左箭头"
set t_Co=256
"set laststatus=2
"set lazyredraw
let g:airline_theme='powerlineish'
" 使用powerline打过补丁的字体
let g:airline_powerline_fonts=1
if !exists('g:airline_symbols')let g:airline_symbols={}
endif
" 关闭空白符检测
let g:airline#extensions#whitespace#enabled=0"语法高亮"
syntax on"命令模式在底部显示"
set showcmd "显示行号"
set nu"突出显示当前行"
set cul          "cursorline的缩写形式""显示括号匹配"
set showmatch"设置缩进" "设置Tab长度为4空格"
set tabstop=4"设置自动缩进长度为4空格"
set shiftwidth=4"设置粘贴模式"
set nopaste"总是显示状态栏"
set laststatus=2"显示光标当前位置"
set ruler"关掉 [草稿][预览]" set completeopt=noselect"让vimrc配置变更立即生效"
autocmd BufWritePost $MYVIMRC source $MYVIMRC"配色"
colorscheme janah" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'" The following are examples of different formats supported.
" Keep Plugin commands between vundle#begin/end.
" plugin on GitHub repo
"Plugin 'tpope/vim-fugitive'
" plugin from http://vim-scripts.org/vim/scripts.html
" Plugin 'L9'
" Git plugin not hosted on GitHub
"Plugin 'git://git.wincent.com/command-t.git'
" git repos on your local machine (i.e. when working on your own plugin)
"Plugin 'file:///home/gmarik/path/to/plugin'
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
"Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
" Install L9 and avoid a Naming conflict if you've already installed a
" different version somewhere else.  " Plugin 'ascenator/L9', {'name': 'newL9'}
Plugin 'Valloric/YouCompleteMe'Plugin 'preservim/nerdtree'Bundle 'taglist.vim'Plugin 'octol/vim-cpp-enhanced-highlight'Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList       - lists configured plugins
" :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line"ycm相关"
let g:ycm_show_diagnostics_ui = 0
let g:ycm_server_log_level = 'info'
let g:ycm_min_num_identifier_candidate_chars = 2
let g:ycm_collect_identifiers_from_comments_and_strings = 1
let g:ycm_complete_in_strings=1
let g:ycm_key_invoke_completion = '<c-z>'
let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/.ycm_extra_conf.py'"noremap <c-z> <NOP>let g:ycm_semantic_triggers =  {\ 'c,cpp,python,java,go,erlang,perl': ['re!\w{2}'],\ 'cs,lua,javascript': ['re!\w{2}'],\ }"vim-cpp-enhanced-highlight相关"
let g:cpp_class_decl_highlight = 1
let g:cpp_class_scope_highlight = 1
let g:cpp_member_variable_highlight = 1"vim-airline相关"
let g:airline_left_sep = ''
let g:airline_left_alt_sep = ''
let g:airline_right_sep = ''
let g:airline_right_alt_sep = ''
let g:airline_detect_modified = 1
let g:airline_detect_paste = 1let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#whitespace#enabled = 0
let g:airline#extensions#whitespace#symbol = '!'
let g:airline_theme='base16_bright'
let g:airline#extensions#tabline#enabled = 1
let g:airline#extensions#tabline#buffer_nr_show = 1

【Ubuntu】常用Vim插件相关推荐

  1. ubuntu vim保存退出命令_【学员分享】程序员效率神器,最常用VIM插件安装大全...

    相信大家多次被推荐用vim作为编辑程序,知道vim编辑有很多优点,但是vim初始界面太原始了,安装了之后只能用来编辑,如果要运行就需要退出去运行,麻烦死了.回想用现成的IDE是多么的舒服.但是为了更好 ...

  2. 【学员分享】程序员效率神器,最常用VIM插件安装大全

    相信大家多次被推荐用vim作为编辑程序,知道vim编辑有很多优点,但是vim初始界面太原始了,安装了之后只能用来编辑,如果要运行就需要退出去运行,麻烦死了.回想用现成的IDE是多么的舒服.但是为了更好 ...

  3. pitstop插件使用说明_【学员分享】程序员效率神器,最常用VIM插件安装大全

    相信大家多次被推荐用vim作为编辑程序,知道vim编辑有很多优点,但是vim初始界面太原始了,安装了之后只能用来编辑,如果要运行就需要退出去运行,麻烦死了.回想用现成的IDE是多么的舒服.但是为了更好 ...

  4. Linux后台开发系列之「04.安装 4 个必备的 vim 插件」

    vim 版权声明:本文为 cdeveloper 原创文章,可以随意转载,但必须在明确位置注明出处! 读这篇博客你能学到些什么? 这篇博客主要介绍 vim 常用插件的安装配置方法,你可以学到下面这些内容 ...

  5. omnicppcomplete php,vim 插件 -- omnicppcomplete

    omnicppcomplete 插件是基于ctags来实现补全的.所以,要先安装好ctags才可以使用. 下载 安装 cp omnicppcomplete-0.41.zip ~/.vim cd ~/. ...

  6. linux安装vi 插件,Ubuntu上Vim安装NERDTree插件的详细操作步骤

    NERDTree是Vim的文件系统浏览器,使用此插件,用户可以直观地浏览复杂的目录层次结构,快速打开文件以进行读取或编辑,以及执行基本的文件系统操作.NERDTree源码在https://github ...

  7. Ubuntu 14.04 配置vim插件教程

    Ubuntu 14.04 vim插件配置教程 (最终配置成适配C/C++语言编程的IDE) 注:本系统采用ubuntu-14.04.3-desktop-amd64.iso镜像生成的虚拟机,以下步骤中的 ...

  8. Ubuntu上Vim安装NERDTree插件操作步骤

    NERDTree是Vim的文件系统浏览器,使用此插件,用户可以直观地浏览复杂的目录层次结构,快速打开文件以进行读取或编辑,以及执行基本的文件系统操作.NERDTree源码在https://github ...

  9. 【记录】常用的vim插件及配置和使用

    2019独角兽企业重金招聘Python工程师标准>>> 所有vim插件都使用Vundle进行安装和管理 vim的git插件 Plugin 'tpope/vim-fugitive' L ...

  10. 【vim新手心得】最常用快捷键、编辑器vim插件使用心得(VsVim、IdeaVim、Vimium)

    看到一个B站up主安利vim编辑器,小伙子真的很硬核:用linux.配置neovim,实况开发python.swiftUI等等. vim基本弃用鼠标.方向键.可以配置各种插件的特性还不算太吸引我,毕竟 ...

最新文章

  1. Android ViewTreeObserver简介-------------转
  2. SQL删除重复的记录(只保留一条)
  3. Puppet集中配置管理系统[安装与配置]
  4. mysql开启事务_MySQL入门之事务(上)
  5. 从Java程序生成QR码图像
  6. Android external storage
  7. lua 获得系统时间
  8. html检测用户在线离线,HTML5 --- navigator.onLine 离线检测(示例代码)
  9. .NET读、写、查、删、改XML文件
  10. 嵌入式软件分层设计思想
  11. 关于信息学奥赛一本通(C++版)在线评测系统 1153 绝对素数
  12. ps cc 生成html,Photoshop自定义工具扩展面板(支持PS CC 2019)
  13. PIL(pillow)读取图片自动旋转的问题
  14. PHP-FPM的PM配置参数说明
  15. win 11 微软 输入法 提示框 提示栏 消失 不见 不显示 找回 显示 可行性 解决方案
  16. Fuzz方法在SPDK iSCSI的应用实例
  17. 什么!这就是PCB打板!
  18. 西门子S7-1200和人机界面测试
  19. 贝壳找房面试之c++基础问答
  20. pdb文件 PDB文件:每个开发人员都必须知道的 .NET PDB文件到底是什么?

热门文章

  1. php 生成电话名片二维码
  2. 社区拼团赛道的突然火爆,究竟是受何因素影响?
  3. 计算机专业线性代数教学大纲,线性代数(专业必修课)教学大纲(2018版)
  4. 可替换MPS MP2451的高压DCDC芯片FS2451助力智能电表设计40V0.5A降压IC
  5. python能用于机械设计吗_为什么人工智能首选Python?因为有很多适用于ML和DL的Python库!...
  6. 安装教程--010Editor
  7. FMCW毫米波雷达中CFAR研究初探(附Python代码)
  8. 论文阅读笔记:ShuffleNet
  9. SVN、GIT图标不显示解决方案
  10. 给机器人罗宾写一封英语回信_小学英语人教(13版三起点)六年级上册Unit1