Vim配置文件vimrc入门介绍

Vim配置文件vimrc入门介绍本文转载自:vim教程网Vim入门级基础配置-Vim入门教程(1)介绍Vim配置文件.vimrc,配置Vim显示行号、支持utf8中文不乱码、突出显示Vim当前行,设置高亮显示括号匹配和tab缩进,解决Vim粘贴时多出缩进和空格问题。一、Vim配置文件.vimrcVim编辑器相关的所有功能开关都可以通过.vimrc文件进行设置。.vimrc配置文件分系统配置和用户配置两种。系…

大家好,又见面了,我是你们的朋友全栈君。

本文转载自:vim教程网 Vim入门级基础配置-Vim入门教程(1)

介绍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

2.4 启用鼠标

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

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

2.5 显示括号匹配

set showmatch

2.6 设置缩进

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

2.7 设置粘贴模式

set paste

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

set listchars=tab:>-,trail:-

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

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

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

三、Vim配置变更立即生效

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

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

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

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

Vim配置

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132030.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月30日 下午2:00
下一篇 2022年4月30日 下午2:00


相关推荐

  • Mysql中的关联查询(内连接,外连接,自连接)

    Mysql中的关联查询(内连接,外连接,自连接)在使用数据库查询语句时,单表的查询有时候不能满足项目的业务需求,在项目开发过程中,有很多需求都是要涉及到多表的连接查询,总结一下mysql中的多表关联查询一,内连接查询是指所有查询出的结果都是能够在连接的表中有对应记录的。以t_employee(员工表)和t_dept(部门表)为例:t_employee表中的记录如下:dept代表该员工所在的部门t_dept表中记录

    2022年5月24日
    32
  • Apache HttpClient4使用教程

    Apache HttpClient4使用教程基于HttpClient4.5.2执行GET请求CloseableHttpClienthttpClient=HttpClients.custom().build();CloseableHttpResponseresponse=httpClient.execute(newHttpGet("https://www.baidu.com"));…

    2022年7月22日
    13
  • 跨域访问解决及原因分析_为什么会有跨域问题

    跨域访问解决及原因分析_为什么会有跨域问题转自:https://www.cnblogs.com/itmacy/p/6958181.html跨域问题:解决跨域的三种方案当前端页面与后台运行在不同的服务器时,就必定会出现跨域这一问题,本篇简单介绍解决跨域的三种方案,部分代码截图如下,仅供参考:方式一:使用ajax的jsonp前端代码 服务器代码 使用该方式的缺点:请求方式只能是get请求方式二:使用jQuery的jsonp插件…

    2026年4月19日
    7
  • 数据结构——线性表—— 2016_10_13

    数据结构——线性表—— 2016_10_13自己做的 只有插入和删除 不过基本原理就这样

    2026年3月18日
    3
  • 【Linux学习】epoll详解

    【Linux学习】epoll详解什么是 epollepoll 是什么 按照 man 手册的说法 是为处理大批量句柄而作了改进的 poll 当然 这不是 2 6 内核才有的 它是在 2 5 44 内核中被引进的 epoll 4 isanewAPIint 5 44 它几乎具备了之前所说的一切优点 被公认为 Linux2 6 下性能最好的多路 I O 就绪通知方法 nbsp epoll 的相关

    2026年3月17日
    2
  • N8N自动化工作流搭建指南:从本地安装到云端部署全解析

    N8N自动化工作流搭建指南:从本地安装到云端部署全解析

    2026年3月15日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号