Vim 是最重要的编辑器之一,主要有下面几个优点。
可以不使用鼠标,完全用键盘操作。
vim对硬件没有要求,系统资源占用小,打开大文件毫无压力。
键盘命令变成肌肉记忆以后,操作速度极快。
服务器默认都安装 Vi 或 Vim。
Vim 基础知识
Vim的系统配置文件路径一般在 /etc/vim/vimrc
, 如下图所示:
Ubuntu 22 Vim 系统配置文件路径
在用户目录 $HOME
有一个 .vimrc
的文件,该文件针对当前登录用户生效。如果找不到该文件,可以通过如下命令创建。
一般情况下,只需通过编辑用户目录中的 .vimrc
文件来配置 Vim 编辑器即可,尽量不去修改系统路径中的 Vim 配置文件。
针对 .vimrc
文件的编辑,只需打开该文件,每行添加一个配置,设置完成后,保存、退出,通过命令 source ~/.vimrc
即可使我们修改的配置立刻生效。
Vim配置项
缩进相关的参数有5个,可以直接使用下面的推荐配置
set autoindent
set tabstop = 4
set softtabstop = 4
set expandtab
set shiftwidth = 4
不嫌麻烦的话,可以看完5个参数的作用后自行配置缩进参数
# 回车后缩进保持和上一行一致
set autoindent
# 一个tab键所占的列数(建议设置为4)
set tabstop = 4
# 敲入tab键时实际占有的列数
set softtabstop = 4
# 输入tab时自动将其转化为空格(由于不同编辑器缩进不一致,设置为空格后,将代码粘贴到任何编辑器都会保持正确的缩进)
set expandtab
note: 当 softtabstop 设置的值大于 tabstop 设置的值,且没有设置expandtab时, 例如:softtabstop=12,tabstop=8, 那么当输入一个tab时(softtabstop:实际占用的是12列),最后会变成一个tab(tabstop)加4个空格(8+4)
# 在 visual 模式下,<<、>>、= 对应的字符数
set shiftwidth = 4
note: visual模式:在命令模式下,按下 shift + v 后,当前光标所在行会进入 visual 模式,通过上(↑)、下(↓)箭头键可以连续选择上一行/下一行,这时按下 <、>、=三个键时,刚刚选择的行会对应的进行缩进和格式化
# 设置行宽,即一行显示多少个字符
set textwidth = 80
# 保持单词完整性,不在单词内换行
set linebreak
# 换行处与编辑窗口的右边缘之间空出的字符数
set wrapmargin = 2
# 水平滚动时,光标距离行首或行尾的位置(单位:字符),该配置在不折行时比较有用
set sidescrolloff = 15
# 垂直滚动时,光标距离顶部/底部的位置(单位:行)
set scrolloff = 5
# 是否显示状态栏。0: 不显示,1: 只在多窗口时显示,2: 显示
set laststatus = 2
# 在状态栏显示光标的当前位置(位于哪一行哪一列)
set ruler
# 在底部显示,当前处于命令模式还是插入模式
set showmode
# 开启文件类型检查,并且载入与该类型对应的缩进规则
filetype indent on
# 打开语法高亮。自动识别代码,使用多种颜色显示
syntax on
# 光标所在的当前行高亮
set cursorline
# 启用256色(更丰富的色彩显示)
set t_Co = 256
# 使用 utf-8 编码
set encoding = utf - 8
# 光标遇到圆括号、方括号、大括号时,自动高亮对应的另一个圆括号、方括号和大括号
set showmatch
# 搜索时,高亮显示匹配结果
set hlsearch
# 输入搜索模式时,每输入一个字符,就自动跳到第一个匹配的结果
set incsearch
# 打开英语单词的拼写检查
set spell spelllang = en_us
# 不创建备份文件。
set nobackup
# 创建备份文件。
set backup
note:
设置备份文件后,文件保存时,会额外创建一个备份文件,它的文件名是在原文件名的末尾,再添加一个波浪号(〜)
# 不创建交换文件
set noswapfile
# 创建交换文件
set swapfile
note:
交换文件主要用于系统崩溃时恢复文件,文件名的开头是. 结尾是 .swp
# 不保留撤销历史。
set noundofile
# 保留撤销历史。
set undofile
note:
Vim 会在编辑时保存操作历史,用来供用户撤消更改。默认情况下,操作记录只在本次编辑时有效,一旦编辑结束、文件关闭,操作历史就消失了。 设置 set undofile
,可以在文件关闭后,操作记录保留在一个文件里面,继续存在。这意味着,重新打开一个文件,可以撤销上一次编辑时的操作。撤消文件是跟原文件保存在一起的隐藏文件,文件名以.un~开头
# 设置备份文件、交换文件、操作历史文件的保存位置,结尾的//表示生成的文件名带有绝对路径,路径中用%替换目录分隔符,这样可以防止文件重名
set backupdir = ~ / .vim / .backup / /
set directory = ~ / .vim / .swp / /
set undodir = ~ / .vim / .undo / /
# 出错时,不要发出响声
set noerrorbells
# 出错时,要发出响声
set errorbells
# 出错时,不发出视觉提示
set novisualbell
# 出错时,发出视觉提示,通常是屏幕闪烁
set visualbell
# 如果行尾有多余的空格(包括 Tab 键),该配置将让这些空格显示成可见的小方块
set listchars = tab : »■, trail : ■
set list
本着互联网开源、开放的精神和宗旨,本站所有内容可以随便传播。如需转载或分享无需说明来源。
有任何疑问或烦恼,欢迎评论区讨论。
暂无回复数据