好了,上篇我们已经了解过了yum的知识点后,现在我们来了解一下vim
1. vim的基本概念
vim的三种模式(其实有好多模式,目前掌握这3种即可),分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
补充:不可以直接插入与底行之间的交换
正常/普通/命令模式(Normal mode)控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
末行模式(last line mode)
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入
2.vim的基本操作
进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面:
$ vim test.c
不过有一点要特别注意,就是你进入vim之后,是处于[正常模式],你要切换到[插入模式]才能够输入文字。
正常模式\]切换至\[插入模式
输入a
输入i (我们通常使用这个!!!)
输入o
插入模式\]切换至\[正常模式
目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除。
正常模式\]切换至\[末行模式
「shift + ;」, 其实就是输入「:」
退出vim及保存文件,在[正常模式]下,按一下「:」冒号键进入「Last line mode」,
例如:
: w (保存当前文件)
: wq (输入「wq」,存盘并退出vim)
: q! (输入q!,不存盘强制退出vim)
下面是实操:
打开后是这个界面
想要编写代码:输入i,就可以正常写代码了
写完代码后,退出:Esc按键
退出:若输入了wq(w为保存,q为退出)后仍然退出不了,就需要强制退出:wq!,就可以退出
现在我们来看一下是否保存下来:看到下面的确实保存了下来了。
想要像上面的一样显示行号:set nu去掉行号:set nonu
常见的命令模式(自己多上手练)
1.gg:定位光标到最开始行。
2.shift+g(实质是G):定位光标到最后一行。
3.n+shift+g(实质是nG):定位光标到任意行。
4.(n)yy:复制光标所在行。按多少次就复制多少个。
5.p:粘贴到光标所在行的下一行。
6.(n)p:重复n次5的操作
7.u:撤销
8.(n)dd:剪切,删除
9.shift+ $:定位光标到当前行结尾
10:shift+^:定位光标到当前行开始
11.w,b:光标按照单词进行行内跨行(其中w是向前,b倒退向后)
12shift+~:大小写转换
13.(n)r:对光标字符+之后的所有字符进行批量化替换。
14.shift+R:替换模式:对内容进行整体替换
15.h(左)j(下)k(上)l(右) 跟→差不多,但是建议使用hjkl
16.(n)x:对光标字符之后的字符进行删除。
17.ctrl+r:撤销之前的撤销
18.多文件的操作
1.q.退出
2.底行中,vs:打开多个文件编辑窗口。
3.ctrl+ww:窗口光标的切换
4.光标在哪个窗口里面,就对哪一个窗口进行操作。
以后了解:(先熟悉上面的常用的先)
移动光标
vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格
按「G」:移动到文章的最后
按「 $ 」:移动到光标所在行的"行尾"按「^」:移动到光标所在行的"行首"
按「w」:光标跳到下个字的开头按「e」:光标跳到下个字的字尾按「b」:光标回到上个字的开头
按「#l」:光标移到该行的第#个位置,如:5l,56l按[gg]:进入到文本开始
按[shift+g]:进入文本末端
按「ctrl」+「b」:屏幕往"后"移动一页按「ctrl」+「f」:屏幕往"前"移动一页按「ctrl」+「u」:屏幕往"后"移动半页按「ctrl」+「d」:屏幕往"前"移动半页
删除文字
「x」:每按一次,删除光标所在位置的一个字符
「#x」:例如,「6x」表示删除光标所在位置的"后面(包含自己在内)"6个字符
「X」:大写的X,每按一次,删除光标所在位置的"前面"一个字符
「#X」:例如,「20X」表示删除光标所在位置的"前面"20个字符
「dd」:删除光标所在行
「#dd」:从光标所在行开始删除#行复制
「yw」:将光标所在之处到字尾的字符复制到缓冲区中。「#yw」:复制#个字到缓冲区「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。
「p」:将缓冲区内的字符贴到光标所在位置。
注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。
替换「r」:替换光标所在处的字符。
「R」:替换光标所到之处的字符,直到按下「ESC」键为止。
撤销上一次操作
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次"u"可以执行多次回复。
「ctrl + r」: 撤销的恢复
更改
「cw」:更改光标所在处的字到字尾处
「c#w」:例如,「c3w」表示更改3个字跳至指定的行「ctrl」+「g」列出光标所在行的行号。「#G」:例如,「15G」,表示移动光标至文章的第15行行首
好了,希望上面对你有所帮助,我们一起进步!
最后到了本次鸡汤环节:
关关难过关关过,长路漫漫亦灿灿!