网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
window、 mac os、 windows。
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,底行模式直接输入:help vim-modes
进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面:
$ vim test.c
不过有一点要特别注意,就是你进入vim之后,是处于[正常模式],你要切换到[插入模式]才能够输入文字。
-
[正常模式]切换至[插入模式]
-
输入a
-
输入i
-
输入o
-
[插入模式]切换至[正常模式]
-
目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除。
-
[正常模式]切换至[末行模式]
-
「shift + ;」, 其实就是输入「:」
-
退出vim及保存文件
(在[正常模式]下,按一下「:」冒号键进入「Last line mode」)
例如:
-
: w(保存当前文件)
-
: wq (输入「wq」,存盘并退出vim)
-
: q! (输入q!,不存盘强制退出vim)
插入模式
-
按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
-
按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
-
按「o」进入插入模式后,是插入新的一行,从行首开始输入文字
从插入模式切换为命令模式
- 按「ESC」键
移动光标
-
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个字
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!