vim分为三种模式:正常模式,编辑模式,命令行模式

如果想用vim进行文本编辑,则输入: vim+文本名称 即可对文本进行编辑。如果文本不存在,就会创建新的文本。

进入vim后处于正常模式,如果想要进行文本编辑,点击“i”或者“a”,进入文本编辑模式,“i”意思是插入insert,会进入光标的左侧,“a”是append的意思,会进入光标的右侧。如果想退出编辑模式,则点击“esc”,退出编辑模式。如果想退出vim,或者进行查询替换,复制粘贴等操作,需要进入命令行模式,在正常模式下按“:”即可。

在命令行模式下,:q 表示退出,表示不保存退出,如果你对文本做出了修改,这样输入命令会报错,如果想要不保存修改直接退出则输入:q!,如果想要保存修改再退出,则输入:wq

i -编辑模式(光标左)
a -编辑模式(光标右)
esc -正常模式
: -命令行模式
:q  -退出
:q ! -强制退出
:wq  -保存后退出

vim的设计就是让我们多使用键盘,所以我们不能通过鼠标点击去移动光标,而是要通过键盘。vim中,jk代表上下移动,hl代表左右移动

如果我们想插入到最前面,就用大写I,即shift+i,如果想要插入到最后面,就用大写A,即shift+a。

如果我们想在光标所在的行下面新增一行,我们可以在正常模式下按小写o,表示open a new line。这样就新增了一行。如果我们想要在光标所在的行上面新增一行,就输入大写O,新增上一行。

如果想让vim显示行号的话,可以去vimrc文件中修改,要找到这个文件,我们需要退出编辑器,输入命令 vim --version,通常会有这样的显示:

system vimrc file: "/etc/vimrc"

我们使用vim进入到这个文件

vim /etc/vimrc

光标要移动到最后需要按大写G,如果想要移动到最顶端,需要按gg。这里我们新增一行,按G,然后输入 set number  就可以显示行号了。

hjkl -左下右上
o  -新增下一行
O  -新增上一行
shift+a -插入最后面
shift+i -插入最前面
vim -version 显示vim配置地址
G -到最后一行
gg -到第一行

如果我们想从第一行跳到第六行,可以直接输入5j,这样就往下移动了五行。但这种方式是需要我们人脑去做一个减法,算出要跳多少行。我们还可以使用另外一种方法--相对行号。输入           vim /etc/vimrc ,在最后一行加入 set relativenumber,这样就可以使用相对行号了,这是行号就变成这行与光标所在行的距离,我们现在可以在正常模式下输入4k,意思是跳转到当前行上面的第四行,以方便我们跳转。

如果要复制一行,可以使用yy,复制一个单词就是yw,y的意思是yank,就是复制的意思。想要粘贴,则输入p。如果想删除一行则使用dd。如果我们要重复上一次的操作,按 . 就可以了。撤回操作的话按 u 。恢复此前操作的话就按 ctrl + r。可以通过dw 删除单词。cw 改变单词,w移动到下一个单词首部,e下个单词的首部,b上个单词的首部。

yy -复制一行
yw -复制一个单词
p  -粘贴
dd -删除一行
.  -重复上一次的操作
u  -撤回操作
ctrl + r -恢复此前操作
dw -删除单词
cw -改变单词
w  -移动到下一个单词首部
e  -下个单词的首部
b  -上个单词的首部。

想要搜索字符串的话 可以使用 /name ,其中name是我想要搜索的字符串的名字,这样vim就会自动帮你找到符合条件的字符串。如果我们想要全局替换的话,输入:%s/旧字符串/新字符串/g,其中g的意思是全局替换。我们还可以通过ctrl+v进入可视化块,选中光标下的字符。

/name -想要搜索字符串
:%s/旧字符串/新字符串/g -全局替换
ctrl+v -可视化块

学习链接:

https://www.bilibili.com/video/BV13t4y1t7Wg?spm_id_from=333.1007.top_right_bar_window_custom_collection.content.click&vd_source=f4b0f39061295153d69abcbac1aaa3e6