标签:com space 查找 大量 学习方法 src 通过 状态 模式
从第一次接触vi/vim到现在已经十几年了,在这个过程中,来来回回,反反复复,学习vi很多次了。
虽然关于vi的使用,我还远未达到“专家”的水平,但对于vi的使用,我有话说。
vi是一个编辑器,起源于unix,在linux中非常常用。关于vi的使用,网上有大量的教程,但质量良莠不齐,很容易误导“新手”。本文的价值在于,我走了十几年的弯路,你可以少走弯路。
每个人学习vi的目的不一样,学习过程和学习方法也比如不同。一般学习者分如下3种情况:
新手级
新手要求不高,会用基本操作即可。本文通过10分钟的学习,就可以达到这个目标。
进阶级
大部分人目前处于这个阶段,在本文的最后,将介绍如何从进阶级步入专家级。
专家级
到这个阶段,基本上可以做到“信手拈来”,出神入化了。
对于新手入门vi,只要掌握打开文件,编辑,保存。
打开文件
在命令行中 vi filename,就可以打开文件进行查看和编辑。
编辑
打开文件后进行编辑的操作,主要包括“增、删、改、查”。
和其他编辑器不同,vi 有Normal模式
,Insert模式
。
在Normal模式下输入i
进入Insert模式,输入Esc
返回Normal模式。(当然有非常多的方法进入编辑模式,如输入a
,o
等,此处不过多说明)。
1)增
确保是在Insert模式下,通过键盘输入内容即可。
[注意] 如何识别当前是在什么模式下?状态栏可以看的,或者键盘输入看。
2)删
删除,跟其他编辑器的操作不同(其他编辑器是先选定,然后Delete、或者Backspace)。
在vi中的删除是在Normal模式下,通过 x
删除一个字符,通过 dd
删除光标所在行。
3)改
所谓“改”,无外乎先删除,再输入。我们通过1)和2)组合实现。
好吧,这里还是学一点吧: 在Normal模式下输入cw
,可以替换一个“单词”。
4)查
vi打开的文件,如果内容非常多,需要查询,替换的时候,需要用到“查”。
在Normal模式下,输入/
,后跟需要查询的内容,然后回车即可。
保存
保存是在命令模式下输入 :w 即可,退出时命令模式下输入 :q 。
新手通过步骤2,初步掌握了vi的使用。进阶学习,需要掌握(切记下面所有的都是在Normal模式):
初级光标的移动
你可能会有疑问,新手不需要移动光标?当然需要了,只不过默认通过“上、下、左、右”箭头移动即可。其实vi中,为了更加高效,是通过 h j k l
来移动光标的。
高级光标的移动
比如数字0移动到行的开头,$移动到当前行的行尾,^移动到本行第一个非空字符,
各种进入Insert
模式的方法
比如在光标后插入a
,在当前行下面新增一行的o
,在当前行上面新增一行的shift + o
,或者输入cw
替换一个word
。
查找和替换
复制、粘贴
复制通过yy
,粘贴是p
。
灵活掌握,比如我们知道dd
是删除当前行,光标定位到目标位置后,接着按键p
是可以粘贴的。
比如3dd
是重复执行dd
三次,不一而足。
光标的定位
:N
,比如:100
,表示光标定位到第100行。在此,需要思考,总共只有10行,会怎么样?
gg
相当于是:1
G
定位到最后一行
区域选择、块操作、可视化选择
......
对于新手来说10分钟入门vi不吃亏,对于已经入门需要进阶,请自行学习:
Learn Vim Progressively 个人认为这个是有史以来最好的vi教程,没有之一。
对于新手,也可以通过vimtutor来学习
方法就是,“用”起来就会了。虽然我用的是windows 10系统,我开发中,vs code和IntelliJ IDEA、visual studio都启用了vi的。
有图有真相:
加油,我相信你也可以入门,并成为vi专家的!
标签:com space 查找 大量 学习方法 src 通过 状态 模式
原文地址:https://www.cnblogs.com/siweihz/p/12210400.html