从这节开始详细介绍下vi的其他命令。
1)使用vi编辑现有文档
vi filename
在vi命令后面跟上文件名,然后按Enter键即可,
vi filename 由于没有指定路径,vi程序在默认的路径,即当前目录中查找filename,用户也可以为其指定路径。如果文件不存在,此时会新建一个文件。
2)移动光标
不论是进入编辑模式,还是使用删除、复制、替换命令,首先要把光标移到合适的文本处,使用鼠标是无法移动光标的,需要依靠命令或方向键。vi仅移动光标,就提供了一套丰富的命令。
① 字符级移动
用vi打开一个文件,内容行数不多的情况下,我们通常使用键盘上的四个方向键操纵光标。
除了方向键,
左(h) 下(j) 上(k) 右(l) 键
这四个键也能操纵光标。
② 单词级移动
w: word 光标所处位置的下个单词首字母
e: end 光标所处位置的下(本)个单词尾字母
b: before 光标所处位置的上(本)个单词首字母
使用vi随便打开一个配置文件,练习光标移动。
注意:不要使用root用户,防止修改了配置文件。大家也可以用winscp上传一个文件练习。
③ 行级移动
$: 定位到光标所在行行尾
0: 定位到光标所在行行首
易记诀窍:
0 可以理解为一行的第一个字的坐标
$ 可以联想到正则表达式中$的作用,就是起到结尾作用的。
④ 段落级(翻屏)移动
{: 光标所在段落的上(本)个段落首部
}: 光标所在段落的下(本)个段落尾部
注意:是大括号,使用时需要+shift键。
⑤ 屏幕级(不翻屏)移动
H: 当前屏幕首部 注:h是左移动光标
L: 当前屏幕尾部 注:l是右移动光标
⑥ 文档级移动
gg: 文档开头
G: 文档尾部
n+G: 文档的第n行,比如 1G:文档首部,和gg一样。123G:跳转到第123行。
3)搜索查找
除了依靠上面的命令移动光标,还可以搜索某个(些)特定的字符,实现快速移动光标。
/word | 从光标所在位置向后查找 word 的字符串。 (常用) |
?word | 从光标所在位置向前查找 word 的字符串,正好与/相反。 |
n | 下一个 |
N | 上一个 |
搜索not字符,输入/not,在尾行会显示输入的字符,点击回车
搜索到了第一个(光标已移过来),往下继续搜索,点击n;往上继续搜索,点击N。
补充:
/^字符串 | 查找以字符串开始的行 |
/字符串$ | 查找以字符串结尾的行 |
/a.b | 查找字符串a任意字符b |