vim入门级配置介绍(代码片段)

author author     2023-02-20     436

关键词:

---介绍Vim配置文件.vimrc,配置Vim显示行号、支持utf8中文不乱码、突出显示Vim当前行,设置高亮显示括号匹配和tab缩进,解决Vim粘贴时多出缩进和空格问题。

一、Vim配置文件.vimrc

Vim编辑器相关的所有功能开关都可以通过.vimrc文件进行设置。

.vimrc配置文件分系统配置和用户配置两种。

系统vimrc配置文件存放在Vim的安装目录,默认路径为/usr/share/vim/.vimrc。可以使用命令echo $VIM来确定Vim的安装目录。

用户vimrc文件,存放在用户主目录下~/.vimrc。可以使用命令echo $HOME确定用户主目录。

注意:用户配置文件优先于系统配置文件,Vim启动时会优先读取当前用户根目录下的.vimrc文件。所以与个人用户相关的个性化配置一般都放在~/.vimrc中。

二、Vim基本配置

默认情况下,Vim编辑器里既不显示行号,也没有语法高亮度、智能缩进。为了方便使用,基本的Vim配置选项一般都会包括:

2.1 支持中文不乱码

‘设置编码‘
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8

与Vim编码有关的变量包括:encodingfileencodingtermencoding
encoding选项用于缓存的文本、寄存器、Vim 脚本文件等;fileencoding选项是Vim写入文件时采用的编码类型;termencoding选项表示输出到终端时采用的编码类型。

2.2 显示行号

‘显示行号‘
set nu
set number

nu是number的缩写,所以上面两个配置命令是完全等效的。

2.3 突出显示当前行

set cursorline
set cul          ‘cursorline的缩写形式‘

2.4 突出显示当前列

set cursorcolumn
set cuc          ‘cursorcolumn的缩写形式‘

2.5 启用鼠标

set mouse=a
set selection=exclusive
set selectmode=mouse,key

Vim编辑器里默认是不启用鼠标的,也就是说不管你鼠标点击哪个位置,光标都不会移动。通过以上设置就可以启动鼠标,不过对于高级玩家来说,用Vim就是为了解放双方不用鼠标,所以这个设置可以根据个人爱好选择。

2.6 显示括号匹配

set showmatch

2.7 设置缩进

‘设置Tab长度为4空格‘
set tabstop=4
‘设置自动缩进长度为4空格‘
set shiftwidth=4
‘继承前一行的缩进方式,适用于多行注释‘
set autoindent

关于Vim缩进的更多内容,可参考vim教程网上的文章Vim自动缩进和tab键替换空格

2.8 设置粘贴模式

set paste

在Vim中通过鼠标右键粘贴时会在行首多出许多缩进和空格,通过set paste可以在插入模式下粘贴内容时不会有任何格式变形、胡乱缩进等问题。

2.9 显示空格和tab键

set listchars=tab:>-,trail:-

Vim编辑器中默认不显示文件中的tab和空格符,通过上面的配置可以获得以下的显示效果,方便定位输入错误。
技术分享图片

2.10 显示状态栏和光标当前位置

‘总是显示状态栏‘
set laststatus=2
‘显示光标当前位置‘
set ruler

三、Vim配置变更立即生效

要让.vimrc变更内容生效,一般的做法是先保存 .vimrc 再重启vim,增加如下设置,可以实现保存 .vimrc 时自动重启加载

‘让vimrc配置变更立即生效‘
autocmd BufWritePost $MYVIMRC source $MYVIMRC

Vim入门级基本配置就先介绍到这里了,更多Vim个性配置可参考vim教程网上的其他博客。

附上我的一张Vim配置示意图

技术分享图片


本文首发于Vim教程网:Vim入门级基础配置

intellijidea的安装配置与使用(入门级)(代码片段)

文章目录IntelliJIDEA的安装、配置与使用(入门级)1、Idea介绍2、Idea下载3、修改配置4、设置主题、字体、背景5、新建工程项目结构简介5.1、创建Module模块5.2、删除Module模块5.3、查看项目结构6、常用配置6.1、配置目录结构... 查看详情

入门级笔记二

##################2.vim#########################1.vim命令模式####在vim的命令模式下可以配置vim的工作方式:setnu ##行号添加:setnonu ##取消行号:setmouse=a ##添加鼠标选择:setcursorline ##行线显示以上设定都是临时的永久的设定方式vim/etc/vimrc ##此文... 查看详情

7种提高工作效率的vim操作-vim使用技巧(代码片段)

...非常高效的文本编辑器,但是对于普通用户来说,很难在入门的时候就体会到Vim的所谓高效性。本文介绍7种提高你工作效率和生产力的Vim使用技巧,主要集中在对某个文件范围内的特定目标执行相同的重复性操作。抛砖引玉,... 查看详情

unity之shadergraph实现全息效果入门级教程(代码片段)

Unity之ShaderGraph实现全息效果入门级教程前言一,效果展示二,原理介绍三,制作步骤四,使用示例五,资源分享前言若你的工程还没有进行基础配置,请查看我的博文Unity之ShaderGraph入门使用详解,按... 查看详情

unity之shadergraph实现火焰效果入门级教程(代码片段)

Unity之ShaderGraph实现火焰效果入门级教程前言一,效果展示二,原理介绍三,实现效果四,使用示例五,完整图示前言若你的工程还没有进行基础配置,请查看我的博文Unity之ShaderGraph入门使用详解,按... 查看详情

玩转vim编辑器(代码片段)

阅读目录一:VIM快速入门二:Vim文档编辑三:查找替换四:高级功能入门回到目录一:VIM快速入门1.vim模式介绍以下介绍内容来自维基百科Vim从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆。几乎所有的... 查看详情

unity之shadergraph实现旋涡(传送门)效果入门级教程(代码片段)

Unity之ShaderGraph实现旋涡[传送门]效果入门级教程一,最终效果展示二,创建PBRGraph三,实现原理介绍四,完整效果实现五,应用到场景中若你的工程还没有进行基础配置,请查看我的博文Unity之ShaderGraph入门... 查看详情

unity之shadergraph实现小旗随风飘扬效果入门级教程(代码片段)

Unity之ShaderGraph实现小旗随风飘扬效果入门级教程前言一,效果展示二,原理介绍三,制作步骤四,使用示例五,完整图示前言若你的工程还没有进行基础配置,请查看我的博文Unity之ShaderGraph入门使用详解&... 查看详情

7种提高工作效率的vim操作(代码片段)

...非常高效的文本编辑器,但是对于普通用户来说,很难在入门的时候就体会到Vim的所谓高效性。本文介绍7种提高你工作效率和生产力的Vim使用技巧,主要集中在对某个文件范围内的特定目标执行相同的重复性操作。抛砖引玉,... 查看详情

unity之shadergraph实现超级炫酷的溶解效果入门级教程(代码片段)

Unity之ShaderGraph实现超级炫酷的溶解效果入门级教程前言一,效果展示二,原理介绍三,实现效果四,使用示例五,完整图示前言若你的工程还没有进行基础配置,请查看我的博文Unity之ShaderGraph入门使用详... 查看详情

unity之shadergraph模拟“吃鸡”海面效果入门级教程(代码片段)

Unity之ShaderGraph模拟“吃鸡”海面效果入门级教程前言一,效果展示1.1模拟海面1.2夜晚海面1.3风平浪静1.4波光粼粼二,原理介绍三,实现效果3.1准备工作3.2颜色部分3.3表面光泽3.4法线部分四,使用示例4.1应用实例4.2... 查看详情

《云原生入门级开发者认证》学习笔记之微服务架构介绍(代码片段)

写在前面嗯,学习云原生相关,整理课堂笔记记忆学习的原因:虽然考了CKA,了解了一些K8s相关的知识但是对云原生整个体系一直都很模糊作为Java开发来讲,微服务是大多数行业都要涉及的开源技术栈博文主要内... 查看详情

github入门级介绍

 Github入门级介绍一、 简介1.基本功能作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。在GitHub,用... 查看详情

git学习——git基本工作原理(入门级教程,通过玩转git本地仓库,帮助新手快速入手git)(代码片段)

如果你只是想知道如何用Git上传代码至托管平台,请看:创建码云仓库并完成第一次上传(https)及使用ssh协议上传代码如果你想了解Git本地仓库的工作原理,欢迎阅读本文。文章目录一、分区及工作流程1.Git... 查看详情

从零开始配置vim(27)——代码片段(代码片段)

...码片段的经历,那么请跳过本篇以节省各位的时间。入门下面我们以C为例来说明如何自定义代码片段来满足我们的需求。其他语言只是填入的内容不同࿰ 查看详情

unity之shadergraph实现自发光和能量护盾效果入门级教程(代码片段)

Unity之ShaderGraph实现自发光和能量护盾效果入门级教程前言一,效果展示二,原理介绍三,发光效果2.1准备工作2.2开始制作2.3实际使用四,护盾效果2.1准备工作2.2开始制作2.3多种护盾五,完整图示5.1自发光效果5... 查看详情

vue保姆级入门教程(代码片段)

文章目录一、Vue1.1Vue介绍1.2Vue特点1.3Vue周边库二、初始Vue2.1插值语法2.2指令语法2.2.1v:bind/简写:指令单向数据绑定2.2.2v-model双向数据绑定2.3事件处理2.4事件修饰符2.5键盘事件2.6计算属性2.7监听属性2.8计算属性与监听属性之间的区... 查看详情

webpack入门介绍及简单配置(代码片段)

webpack在当前前端工程师常用的一个工程化打包工具,官方对webpack的介绍是:webpack本质上是一个现代JavaScript应用程序的静态模块打包器(staticmodulebundler)。在webpack处理应用程序时,它会在内部创建一个依赖图(dependencygr... 查看详情