小菜之前整理过一篇有关于vim的操作,整理完后练了一两天后就放弃了,原因是对vim太不熟悉了,导致工作效率十分低下。最近在逛博客和慕课网时,发现了关于vim系统性的教程,还有就是小菜换编辑器了,用了微软的vsCode发现确实好用,在vscode上安装了一个vim插件,这样不管是工作还是平时写博客就都能练习vim。但是促使小菜整理vim 技巧还是因为博主整理的vim太齐全了,怕日后博主不维护博客了,小菜用时查找不到,所以未经博主允许就拷贝过来,还请博主见谅

教程链接:

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

1.Vim配置文件

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

用户vimrc文件,存放在用户主目录下~/.vimrc。

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

2.Vim基本配置

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

支持中文不乱码

'设置编码'
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选项表示输出到终端时采用的编码类型。

显示行号

'显示行号'
set nu
set number

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

突出显示当前行

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

启用鼠标

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

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

显示括号匹配

set showmatch

设置缩进

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

设置粘贴模式

set paste

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

显示空格和tab键

set listchars=tab:>-,trail:-

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

ssl

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

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

打开文件类型检测

filetype plugin indent on

3.Vim配置变更立即生效

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

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

vim 技巧

vim 技巧(1) vim 入门教程(2) vim 三种操作模式(3) vim 光标移动(4) vim ctrl+s卡死(5) vim 重复操作命令(6) vim 多行操作(7) vim 配色方案整理(8) vim 安装插件管理器(9) vim 内容搜索(10) vim 替换命令(11) vim 自动补齐(12) vim 升级8.x版本(13)