🔥🔥 欢迎来到小林的博客!!
🛰️博客主页:✈️小林爱敲代码
🛰️欢迎关注:👍点赞🙌收藏✍️留言
💖vim的基本概念
简单来说,vim就是一个多模式的编辑器。
vim常用的三种模式
今天给大家讲解vim编辑最常用的三种模式:
1. 命令行模式
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
2.插入模式
类似于编辑记事本。
3.底行模式
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入:help vim-modes
vim的基本操作
进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面:
我们输入vim.hello.c ,如果有文件,则会编辑该文件。没有,则会先创建再编辑。
然后我们可以看到左下角的NORMAL,意思是vim正处于命令模式。
那么我们此时可以按 i 进入插入模式。当左下角变成INSERT的时候,就是进入了插入模式。然后可以随意输入一些东西。
输入完之后要保存怎么办?那么我们需要按键盘上的esc回退到命令模式。
回退之后我们按shift + : 打出冒号,即可进入底行模式。
我们会发现左下角变成了COMMAND,也就是底行模式。然后输入wq!,即可保存退出,w是写的意思,q是退出的意思,!是强制操作的意思。
退出后我们再用cat命令查看一下hello.c的内容。
这就意味着刚刚保存成功了。
命令行模式的命令集
进入插入模式命令
按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
插入模式返回命令模式按esc即可。
以下带#的命令,#均表示自己输入的一个数字,且是在主键盘上输入
**光标的移动操作按键 **
vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母h(左)、j(下)、k(上)、l(右),分别控制光标左、下、上、右移一格。因为早期的键盘没有上下左右四个键。
而在命令模式下有很多命令,我们按下对应的键位也会有对应的操作,具体如下表:
按键 | 操作说明 |
---|---|
G | 移动到文章的最后 |
$ (shift + 4) | 移动到光标所在行的“行尾” |
^ (shift+6) | 移动到光标所在行的“行首” |
w | 光标跳到下个单词的开头 |
e | 光标跳到下个单词的字尾 |
b | 光标回到上个单词的开头 |
#l | 光标移到该行的第#个位置,如:5l,56l(数字需要是主键盘,小键盘无效) |
gg | 进入到文本开始 |
shift+g | 进入文本末端 |
ctrl+b | 屏幕往“后”移动一页 |
ctrl+f | 屏幕往“前”移动一页 |
ctrl+u | 屏幕往“后”移动半页 |
ctrl+d | 屏幕往“前”移动半页 |
删除操作
按键 | 操作说明 |
---|---|
x | 每按一次,删除光标所在位置后的一个字符 |
#x | 6x表示删除光标所在位置的“后面(包含自己在内)的6个字符(#代表主键盘的数字,小键盘无效) |
X (shift + x) | 大写的X,每按一次,删除光标所在位置的前面一个字符 |
#X(shift + x) | 20X表示删除光标所在位置的前面20个字符 |
dd | 删除光标所在行 |
#dd | 从光标所在行开始往下删除#行 |
复制操作
按键 | 操作说明 |
---|---|
yw | 将光标所在之处到字尾的字符复制到缓冲区中。 |
#yw | 复制#个字到缓冲区 |
yy | 复制光标所在行到缓冲区。 |
#yy | 例如,6yy表示拷贝从光标所在的该行“往下数”6行文字。 |
p | 将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。 |
替换操作
按键 | 操作说明 |
---|---|
r | 替换光标所在处的字符。 |
R (shift + r) | 替换光标所到之处的字符,直到按下「ESC」键为止。 |
u | 如果您误执行一个命令,可以马上按下u,回到上一个操作。按多次“u”可以执行多次回。 |
ctrl + r | 撤销的恢复 |
cw | 更改光标所在处的字到字尾处 |
c#w | 例如,c3w表示更改3个字 |
ctrl +g | 列出光标所在行的行号。 |
#G | 例如,15G,表示移动光标至文章的第15行行首。 |
底行模式的命令集
在命令模式输入冒号(shift + :)即可进入底行模式。
底行模式的常用命令
命令 | 操作说明 |
---|---|
vs 文件名 | 输入vs 文件名 后,会分屏打开该文件,如果没有该文件会自动为你新建一个 |
set nu | 输入set nu 后,会在文件中的每一行前面列出行号。 |
# | #号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。 |
/关键字 | 先按/键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按 |
n | 会往后寻找到您要的关键字为止。 |
?关键字 | 先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。 |
w | 在冒号输入字母w就可以将文件保存起来 |
q | 按q 就是退出,如果无法离开vim,可以在q后跟一个!强制离开vim。 |
wq | 一般建议离开时,搭配w一起使用,这样在退出的时候还可以保存文件。 |