前言
在gVim中配置插件,其核心意义在于突破原生编辑器的功能限制,打造高度个性化、专业化的集成开发环境。它让一个轻量级的文本编辑器演变为能够胜任复杂任务的强大工作平台。
主要作用体现在以下方面:
- • 弥补原生不足:添加文件树浏览(NERDTree)、模糊查找文件(fzf)、多窗口管理等功能,弥补Vim原生功能的不便。
- • 支持新语言/框架:通过语法高亮、缩进规则、代码片段等插件,为各种编程语言和框架提供深度支持。
- • 减少重复操作:利用代码片段插件(ultisnips),输入几个字符就能展开为完整代码块。
- • 智能辅助:通过自动补全、语法分析、重构工具,减少手动编码和错误。
- • 快速导航:在项目文件、函数、符号间快速跳转,无需离开编辑器。
- • 交互优化:改进搜索高亮、括号匹配、滚动动画等细节,使编辑体验更舒适。
- • 用户可以根据自己的编程语言、工作流和审美偏好,从海量社区插件中自由选择和组合,构建独一无二的专属编辑器。
简单来说,配置插件就是将Vim从一个卓越的“文本编辑器”升级为一个强大的“文本操作平台”的关键过程。 它平衡了Vim的高效操作哲学与现代软件开发对功能集成和视觉交互的需求。当然,合理的插件管理(避免过多影响启动速度)也是配置时需要考量的重要部分。
GVIM的基础配置
打开或创建配置文件
在Linux系统中,GVIM的配置文件的地址是~/.vimrc;若在上述目录中没有该文件则直接创建该文件即可,然后在终端中直接输入gvim ~/.vimrc即可进行配置。
设置行号
在.vimrc中加入下列语句即可设置行号:
set nu
GVIM设置行号后的效果
设置窗口位置及大小
在.vimrc中加入下列语句即可设置窗口打开时的位置及窗口大小:
" 设置窗口位置(X坐标 Y坐标)winpos 100 50" 同时设置窗口大小(可选)set lines=30 columns=100
设置主题
在.vimrc中加入下列语句即可设置为黑色主题:
colorscheme desert
设置后的效果如下:
设置desert主题后的效果以下目录中以.vim结尾的文件即为系统自带的主题文件,亦可在.vimrc中配置为以下主题:
主题文件存放目录若上述主题没有满意的,可在以下GVIM主题网站上下载相关主题文件,并放入上述目录,最后在.vimrc文件中配置即可;https://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=downloads&direction=descending&search=search
设置突出显示当前行
在.vimrc中加入下列语句即可设置突出显示当前行:
set cursorline
设置后的效果如下:
设置突出显示当前行后的效果
设置突出显示当前列
在.vimrc中加入下列语句即可设置突出显示当前列:
set cursorcolumn
设置后的效果如下:
设置突出显示当前列后的效果
设置tab宽度
在.vimrc中加入下列语句即可设置tab宽度为4:
set tab 4
设置后的效果如下:
设置tab宽度后的效果
设置字体及其大小
在.vimrc中加入下列语句即可将字体设置为Overpass,字体大小为16:
set guifont=Overpass:h16
设置后的效果如下:
设置字体后的效果
字体库中的其他字体
设置自动缩进
在.vimrc中加入下列语句即可实现自动缩进,即当第一行敲 tab+文字 回车后,下一行会自动添加一个tab:
set autoindent
设置后的效果如下:
设置自动缩进后的效果
设置搜索时忽略大小写
在.vimrc中加入下列语句即可实现搜索时忽略大小写:
set ignorecase
设置后的效果如下:
设置搜索忽略大小写后的效果在.vimrc中加入下列语句即可实现搜索时不忽略大小写(不设置时亦是不忽略大小写):
set noignorecase
设置后的效果如下:
设置搜索不忽略大小写后的效果
设置显示水平滚动条
在.vimrc中加入下列语句即可实现显示水平滚动条:
set guioptions+=b
设置后的效果如下:
设置显示水平滚动条后的效果
设置单词不跨行显示
gvim默认配置中单词会跨行显示,如下图所示:
未设置单词不跨行显示的效果在.vimrc中加入下列语句即可实现单词不跨行显示:
set linebreak
设置后的效果如下:
设置单词不跨行显示后的效果
设置括号匹配
在.vimrc中加入下列语句即可实现括号匹配:
set showmatch
设置后的效果如下:
设置括号匹配后的效果
设置代码自动折叠
基于缩进的自动折叠
在.vimrc中加入下列语句即可实现代码基于缩进的自动折叠:
set foldenableset foldmethod=indent
设置后的效果如下:
设置代码基于缩进自动折叠后的效果基于标记的自动折叠
在.vimrc中加入下列语句即可实现代码基于标记(标记为{{{ 和 }}})的自动折叠:
set foldenableset foldmethod=marker
设置后的效果如下:
设置代码基于标记进行自动折叠后的效果其余折叠方法
除了以上两种方式之外,还可设置为以下几种折叠方式:
manual:手工定义折叠diff:比较模式,对没有更改的文本进行折叠syntax:用语法高亮来定义折叠expr:用表达式进行折叠
折叠的展开与闭合
可以输入以下命令完成折叠的展开与闭合:
- •
zf :创建折叠,鼠标选中要折叠的行,键入zf即可创建折叠; - •
zj :到达下一个折叠的开始处,关闭的折叠也被计入; - •
zk :向上移动到前一折叠的结束处,关闭的折叠也被计入; - •
zd :删除当前折叠(删除折叠标识,非删除代码); - •
zE :删除所有折叠(删除所有折叠标识,非删除代码);
设置输入逗号后自动增加空格
在.vimrc中加入下列语句即可实现代码输入逗号后自动增加空格:
inoremap , ,<Space>
设置后的效果如下:
设置输入逗号后自动增加空格后的效果
GVIM中好用的插件
gvim插件下载
点击文章末尾的阅读原文即可下载systemverilog语法高亮插件和目录树插件;
设置systemverilog语法高亮
将下载好的systemverilog语法高亮插件放在/usr/share/vim/vim74/syntax目录中:
复制systemverilog语法高亮文件至synatx目录在.vimrc中加入下列语句即可实现systemverilog语法高亮:
au BufNewFile,BufRead *.sv set filetype=systemverilog
设置后的效果如下:
设置systemverilog语法高亮后的效果
设置目录树
将下载好的目录树插件解压到/usr/share/vim/vim74目录中:
在vim74目录下解压目录树插件设置后输入:NERDTree即可打开目录树,打开后的效果如下:
目录树打开的效果在.vimrc中加入以下语句即可实现按下F2快捷键即可快速打开目录树:
map <F2> :NERDTree<CR>
💖 💓 💖 ~ 本节完结 ~ 💖 💓 💖