目录
进入vim编辑器
Shift+zz退出编辑器
vim的三种模式
命令模式
插入模式
yy复制一行
p粘贴一行
nyy复制多行
dd剪切一行
ndd剪切多行
x删除一个字符
nx删除多个字符
u撤销上一次操作
shift+g从第一行如果快速调到最后一行
gg回到第一行
page+down & page+up往下翻页&往上翻页
home & end去行末&回到行首
“ * ”查找
底行模式
冒号进入底行模式
w+回车 q+回车 wq+回车 wq!+回车
冒号底行模式下直接输入数字
斜杠进入底行模式
/ 关键字
n查找下一个
nohl去掉高亮
set nonu关闭行号
set nu调出行号
%s/old/new将old替换成new
Esc键退出编辑器的某种模式
vim是Linux中常用的一个编辑器,之后我们写代码就是使用这个vim来写。
几乎所有的Linux里面都有一个默认的编辑器vi,但是有一些Linux系统没有vim,如果没有vim就可以用vi。但是大部分Linux都是有vim的。
进入vim编辑器
当我们输入vim按回车键之后就进入了vim编辑器
Shift+zz退出编辑器
想要退出的话按shift+zz
vim的三种模式
命令模式
插入模式
底行模式
现在我们来挨个介绍这三种模式下的工作命令
命令模式
vim如何进入命令模式?
比如,我们想要用vim打开一个hello.c文件,我们输入:
这个时候vim就是检测hello.c是否存在,如果不存在,它就会创建一个再打开,如果存在它就直接打开
当你敲下回车时,就进入了hello.c文件,进来之后默认是命令模式。
注:如果想要退出,一样可以按shift+zz
插入模式
我们要让它进入插入模式,就可以往里面插入一些东西。
vim如何进入插入模式?
通过按键i(insert插入)或者a(append附加)进入插入模式
当我们按下i或者a之后,它就提示我们就进入了插入模式
注:如果想要退出插入模式,可以按键盘上的Esc键退出,退出后这里就没有“插入”两字的提示了,这个时候即为命令模式。
当我们处于插入模式时,我们就可以在里面敲代码了
比如我们简单演编辑一个C言语程序
yy复制一行
如果我们想要复制东西的时候,一定要先退出插入模式,进入命令模式。
比如想要复制头文件,就把光标放在头文件所在行,按yy就复制好一行。
p粘贴一行
那比如说我们粘贴在第8行,就把光标放在第7行,按一下p就粘贴在第8行了。
nyy复制多行
如果想要复制多行,就按nyy,比如想要复制7行,就按7yy
然后想要复制在第11行将光标放在10行,按p就粘贴下来了
dd剪切一行
如果想要剪切一行,就按dd。
比如想要剪切这个:
那就光标移动到这一行,
按dd就剪切掉了
剪切掉之后,下一行会自动顶上这个位置。
ndd剪切多行
如果想要剪切10行,就是10dd
x删除一个字符
如果想要只删除一个字符,就把光标选中哪个字符就按x
nx删除多个字符
同样如果你想删除多个字符就加上数字,比如你想删除这5个字符,就按5x
u撤销上一次操作
如果你删错了想要撤销就按u
shift+g从第一行如果快速调到最后一行
gg回到第一行
以上这些命令都是在命令模式下进行的,不要在插入模式下进行!
page+down & page+up往下翻页&往上翻页
如果我们写的代码超出了一个窗口了,想要翻回到上面看看,这个时候,我们滚动鼠标,你会发现窗口没有往上滚动,这和我们用其他代码编辑器的操作不太一样,我们应该怎么办呢?
一般在Linux中我们不采用滚动鼠标的方式往前或者往后看,我们一般是按键盘上的方向键,page+down,page+up,表示翻页。
home & end去行末&回到行首
如果我们的光标在这里:
我们想要让它快速移动到这一行的末尾,我们按键盘上的end键
想要回到开头,就按home键
“ * ”查找
如果你想要查找,比如说这里有一个main,你想要查找下一个main怎么办?
把光标main的m字母上,按一下shift+8,即“*”号(用于查找),光标就可以跳到下一个main了
可以发现,光标调到下一个main的同时,它还用其他颜色标注出其他main的位置。
底行模式
最后一个是底行模式,注意,一定是从命令模式才能切换到底行模式。
怎么从命令模式进入底行模式呢?
有两种方式:
冒号进入底行模式
第一种是用“:”一个冒号来进入底行模式。
当底部出现一个冒号时表示已经在底行模式。
进入冒号底行模式能干什么呢?
w+回车 q+回车 wq+回车 wq!+回车
处于这个模式下,我们输入w+回车就是保存,q+回车是退出,wq+回车就是保存并退出(shift+zz也是保存退出)。有时候在可以强制保存退出,即wq!+回车。
已写入write即保存。
q其实是quit退出(电脑程序)的意思
可以输入vim hello.c再进入
冒号底行模式下直接输入数字
在底行模式下,直接输入数字能直接跳到第几行,比如说你想跳到第30行,那就调出底行模式,但是输入30,
按回车即跳转到第30行
斜杠进入底行模式
第二种进入底行模式的方式是用“/”
用这种方式进入底行模式的话能干什么呢?
/ 关键字
这种主要用于查找的,比如我们现在要查找“printf”,我们就输入“/printf”
回车后,它就自动跳转到有printf的地方
n查找下一个
这个时候按一下n就是next查找下一个
nohl去掉高亮
因为我们查找printf,因此vim给我们把所有的printf全用高亮的颜色标注出来了,如果停止查找后它不会把这些标注的颜色去掉,如果你有强迫症,可以在“:”形式的底行模式下输入“nohl”,h就是high高的意思,l 就是light亮的意思,no high light就是不要高亮的意思。
当我们这样输入后,高亮标注就没有了
set nonu关闭行号
我们想要复制代码的时候会把行号也选进去了,怎么才能不把这些行号复制进去呢?
在冒号底层模式下输入“set nonu”就是set no number设置没有标号的意思,当我们这样输入后,回车就发现左侧的这一整列行号全不见了
这样等你下一次关掉之后还是有行号的。
set nu调出行号
如果你想再次调出这些行号,可以输入“set nu”即set number就是设置编号的意思。
一般只是我们临时想要复制代码或者替换的时候需要关闭行号。
%s/old/new将old替换成new
如果你想替换的话,比如你想把main替换成xx,可以在冒号底行模式下,输入“%s/main/xx/”
回车
就全变成xx了
我们输入的这行命令的意思就是将mian改成xx
以上就是vim编辑器的三种模式,
注意:
Esc键退出编辑器的某种模式
以上命令一定要熟悉掌握!
如有问题可评论区或者私信留言,如果想要进交流群请私信!