
文章目录
一.vim的基本概念
vim是一个专注的编辑器,支持多模式编辑,有命令模式,视图模式,替换模式,插入模式,底行模式。

1.正常/命令模式
首次打开vim进入的就是命令模式,命令模式是vim的核心和精华。
- 功能: 控制屏幕光标的移动,进行字符、单词或行的删除、移动、复制等操作,以及进入插入模式或末行模式。
- 特点: Vim启动时的默认模式,用于执行各种编辑命令。在此模式下,用户可以通过键盘快捷键快速移动光标,进行文本的浏览和编辑操作。
- 进入方式: Vim启动后自动进入,或者从其他模式按
Esc键返回。
2.插入模式
- 功能: 允许用户直接在文本中输入内容。
- 特点: 只有在插入模式下,才可以进行文本输入。
- 进入方式: 在命令模式下,按下
i键即可进入插入模式。 - 退出方式: 按下
Esc键即可退出插入模式,返回正常模式。
3.底行模式/末行模式
- 功能: 用于执行一些特殊的命令,如文件保存、退出Vim、查找替换、设置环境等。
- 特点: 提供了一种方便的方式来执行全局命令。
- 进入方式: 在命令模式下,按下
:进入底行模式。 - 退出方式: 按下
Esc键即可退出底行模式,返回正常模式。
4.视图模式
- 功能: 用于选择文本块,方便进行复制、粘贴、删除等操作。
- 特点: 择文本时有一种鼠标选择的即视感,非常直观。
- 进入方式: 在正常模式下,按下
v键进入字符选择模式,按下V键进入行选择模式,按下Ctrl+v键进入块选择模式。 - 退出方式: 按下
Esc键即可退出视图模式,返回正常模式。
5.替换模式
- 功能: 用于直接替换光标所在位置的字符。
- 特点: 在替换模式下,输入的字符将直接替换光标所在位置的字符。
- 进入方式: 在正常模式下,按下
R键即可进入替换模式。 - 退出方式: 按下
Esc键即可退出替换模式,返回正常模式。
二.vim的基本操作
1.进入vim:
指令: vim 文件名
输入vim及文件名称后,就进入vim全屏幕编辑画面,如果文件不存在vim也会新建文件。


注意: 进入vim之后,是处于正常模式,你要切换到插入模式才能够输入文字。
正常模式 切换到 插入模式:
i:在当前光标位置前插入a:在当前光标位置后插入o:在当前行后插入新行
插入模式 切换到 正常模式:
- 点击键盘上的
Esc键就可以退出到命令模式。(所有模式退到命令模式都是这样)
正常模式 切换到 底行模式:
- 按
shift + ;,其实就是输入:。
2.退出vim:
- 在底行模式下,输入
w保存当前文件,输入q退出vim。 - 在底行模式下,
wq保存并退出vim。 q!:不保存,强制退出vim。
三.vim正常模式命令集
1.光标定位:
gg:光标定位到文本最开始。shift+g/G:光标定位到文本最结尾行。(第一个文本所在的地方)n+G:n是任意数字,定位光标到任意行。(第一个文本所在的地方)shift+4/$:光标定位到行尾。shift+6/^:光标定位到行首。
上面两种方式也被称为锚点h,j,k,l:以字符为单位进行左、下、上、右移动。w/b:光标以单词为单位进行行内或跨行移动。(也可可以配合n使用,一次跨越n个单词)
2.复制/粘贴
yy:复制当前行。(也可以配合n使用,一次复制多行)p:粘贴到当前行的下一行。(也可以配合n使用,一次粘贴多份)
3.撤销
u:对上一个操作进行撤销,按多次可执行多次撤销。(只要不退出vim,就可以一直撤销)ctrl+r:对u进行撤销。
这两个命令是环状的,互相可以取消对方
4.剪切/删除
dd:剪切/删除当前行。dd完如果不p的话,那就是删除,如果p的话就是剪切x:删除光标所在位置的字符。(也可以配合n使用,一次删除多个字符)shift+x/X: 删除光标所在位置的前面一个字符。(也可以配合n使用,一次删除前n个字符)
5. 更改
- shift+ `/ ~:快速大小写切换。
r:进行文本替换。(也可以配合n使用,进行小范围的文本替换)shift+r/R:模式切换为替换模式,替换光标所到之处的字符。(退出无脑Esc)
四.vim底行模式命令集
1.保存/退出
w:保存w!:强制保存q:退出q!:强制退出wq:保存并退出wq!:强制保存并退出
2.调出行号
set nu:调出行号set nonu:取消行号
3.搜索字符
/关键字:先输入/,再输入你想要要查找的字符,如果第一次找的不是你想要的,可以按n,会继续往后寻找。?关键字:输入?,再输入你先更要查找的字符,如果第一次找的不是你想要的,可以按n,会继续往后寻找。
4.命令执行
!:在不退出vim的情况下执行命令。
5.分屏操作
vs 文件名:实现多文件分屏。ctrl+ww:实现光标在分屏多文件之间的切换,光标在哪个窗口里面,就对哪一个窗口进行操作。
五.补充几个实用的命令
1.命令模式
- 批量化注释:
ctrl+v->hjkl->shift+i / I->//->Esc - 批量化去注释:
ctrl+v->hjkl->d
2.底行模式
-
批量化替换:
%s/被替换的对象/替换的对象/g,g是global的意思,表示全面的
例如:将文本中的printf替换成print:%s/printf/print/g -
进文件后光标直接到指定行:
vim 文件名 +指定行
例如:进入code.c文件光标直接定位到第15行:vim code.c +15
3.快速执行历史命令
!+命令的开始符:快速执行历史命令。
例如:
六.vim的配置
未经配置的vim,在插入模式下写代码的时候,没有任何语法提醒,也没有自动补全的功能,使用起来很不方便。要实现在写代码的时候给出提示,需要我们自行对vim进行配置。
1.vim的配置文件
一般情况下vim的配置都是在一个叫做.vimrc的文件里面。这个文件如果没有我们要手动创建一个。所以vim最根本的配置本质上就是修改当前家目录里的.vimrc的文件,向里面添加配置项。

示例:
没添加任何配置项的原始vim

向.vimrc文件里面添加显示行号的配置项set nu,保存并退出

再次打开test.c文件就会发现代码前带上了行号

一般配置vim都是在你自己的家目录里面配置的,所以一台Liunx机器下有多个用户的前提下,你自己配置的vim影响不了用户。
今天的内容就分享到这里,如果这篇文章对你有帮助,记得点赞,评论+收藏 ,最后别忘了关注作者,作者将带领你探索更多关于Liunx方面的问题。