vim常用配置

@工欲善其事,必先利其器

  作为一名使用 Linux OS 开发的程序员来说,VIM无疑是我最喜爱的编辑器,没有之一。因为使用熟练之后,就可以解放你用鼠标的右手,”啪啪啪“一顿敲,有木有感觉很爽,哈哈。既然是自己最喜爱的编辑工具,我想有必要记录一下vim的一些配置,以备重新搭建开发环境时,无需从新配置。

关于Vim

  关于Vim配置、插件、Vim命令和Vim教程,网上有套非常详尽的教程,贴出链接Vim详细教程,这里只做自己的配置记录。

Vim配置文件 .vimrc

Vim的系统配置目录,路径为/etc/vim/vimrc 本文修改此配置文件

Vim编辑器相关的所有功能开关都可以通过vimrc文件进行设置。
.vimrc配置文件分系统配置和用户配置两种。
系统vimrc配置文件存放在Vim的安装目录,默认路径为/usr/share/vim/vimrc。可以使用命令echo $VIM来确定Vim的安装目录。
用户vimrc文件,存放在用户主目录下~/vimrc。可以使用命令echo $HOME确定用户主目录。
注意:用户配置文件优先于系统配置文件,Vim启动时会优先读取当前用户根目录下的vimrc文件。所以与个人用户相关的个性化配置一般都放在~/vimrc中。

Vim配置及注释

  这里就直接贴出本人的配置文件代码,可以直接复制使用,OS: Ubuntu 18.04 Vim: 8.0 代码如下:

" All system-wide defaults are set in $VIMRUNTIME/debian.vim and sourced by
" the call to :runtime you can find below.  If you wish to change any of those
" settings, you should do it in this file (/etc/vim/vimrc), since debian.vim
" will be overwritten everytime an upgrade of the vim packages is performed.

if has("syntax")
  syntax on
endif
" ******************************从此处开始vim基础配置********************************
" 设置编码,支持中文
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
set nu			" 显示行号
set showmatch	" 显示括号匹配
" 设置缩进
set tabstop=4
set shiftwidth=4
set autoindent
set paste		" 粘贴模式,避免粘贴代码时格式变形
set cindent		" 针对C语言语法自动缩进
syntax on		" 开启语法高亮
set hlsearch 	" vim搜索时,使用黄色底色标记所查找的内容,方便查看

" ******************************从此处开始vim插件管理********************************

set rtp+=~/.vim/bundle/Vundle.vim		" 设置包括vundle和初始化相关的runtime path
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'			" 让vundle管理插件版本

" 安装 Nerdtree
Plugin 'scrooloose/nerdtree'
" 安装DoxygenToolkit
Plugin 'DoxygenToolkit.vim'
" 安装Taglist
Plugin 'taglist.vim'

call vundle#end()        		" 你的所有插件必需要在这行之前
filetype plugin indent on		" 加载vim自带和插件相应的语法和文件类型相关脚本
filetype plugin on				" 忽视插件改变缩进,可以使用这句替代

" ******************************从此处开始vim插件配置********************************
" 设置 Nerdtree
map <leader>t :NERDTreeToggle<CR>
"map <C-n> :NERDTreeToggle<CR>
let NERDTreeShowLineNumbers=1		" 显示行号
let NERDTreeAutoCenter=1
let NERDTreeShowHidden=1					" 是否显示隐藏文件
let NERDTreeWinSize=30						" 设置宽度
let g:nerdtree_tabs_open_on_console_startup=1				" 在终端启动vim时,共享NERDTree
let NERDTreeIgnore=['\.pyc','\~$','\.swp']							" 忽略以下文件的显示
let NERDTreeShowBookmarks=1										" 显示书签列表

" 当vim打开一个目录时,nerdtree自动使用
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | endif
" 当vim中没有其他文件,值剩下nerdtree的时候,自动关闭窗口
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif

" 设置DoxygenToolkit 本人设置为C风格
let g:DoxygenToolkit_briefTag_funcName = "yes"
" for C++ style, change the '@' to '\'
let g:DoxygenToolkit_commentType = "C"
let g:DoxygenToolkit_briefTag_pre = "\@brief "
let g:DoxygenToolkit_templateParamTag_pre = "\@tparam "
let g:DoxygenToolkit_paramTag_pre = "\@param "
let g:DoxygenToolkit_returnTag = "\@return "
let g:DoxygenToolkit_throwTag_pre = "\@throw " " @exception is also valid
let g:DoxygenToolkit_fileTag = "\@file "
let g:DoxygenToolkit_dateTag = "\@date "
let g:DoxygenToolkit_authorTag = "\@author "
let g:DoxygenToolkit_versionTag = "\@version "
let g:DoxygenToolkit_blockTag = "\@name "
let g:DoxygenToolkit_classTag = "\@class "
let g:DoxygenToolkit_authorName = "mahuiming, 807741077@qq.com"
let g:doxygen_enhanced_color = 1
"let g:load_doxygen_syntax = 1
nmap <F4> :DoxAuthor<cr>

" 设置Taglist
let Tlist_Ctags_Cmd='ctags'
let Tlist_Show_One_File=1           "不同时显示多个文件的tag,只显示当前文件的
let Tlist_WinWidt =28               "设置taglist的宽度
let Tlist_Exit_OnlyWindow=1         "如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Use_Right_Window=1        "在右侧窗口中显示taglist窗口
"let Tlist_Use_Left_Windo =1
map <leader>l :Tlist<CR>

" Source a global configuration file if available
if filereadable("/etc/vim/vimrc.local")
  source /etc/vim/vimrc.local
endif

相关插件的安装

参考:插件安装过程,根据这篇博客安装很顺利,亲测可用

插件列表

Vundle ——管理vim插件的插件 ,其特色在于使用git来管理插件,更新方便
Nerdtree ——树形目录插件,可以方便查看目录
DoxygenToolkit ——用它可以很方便地添加 Doxygen 风格的注释,可以节省大量时间和精力,提高写代码的效率。
Taglist ——TagList插件是一款基于ctags,在vim代码窗口旁以分割窗口形式显示当前的代码结构概览,增加代码浏览的便利程度的vim插件。
nerdcommenter ——快速注释插件,可以很方便的注释代码
vim-airline ——状态栏美化插件
YouCompleteMe —— 代码自动补全插件

需要手动安装的插件

下载安装Vundle,此之前必须先安装Git

mkdir ~/.vim/bundle
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

对于其他插件,就可以使用Vundle来自动安装管理,在完成 /etc/vim/vimrc 中插件的配置后,即打开vim界面

:PluginInstall
Done!
完成插件安装

  好了,花了一早上时间,vim配置算是弄完了,之后有新的配置改动再做更新。关于插件如何使用,网上对每个插件都有详细的介绍,这里就不赘述了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Caso_卡索

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值