简介
本文是笔者在实验楼学习Vi编辑器后的一个小总结。使用Vi得知道Vi共有三种工作模式:
模式 | 说明 |
---|
正常模式 | 刚打开一个文本时,我们就处在这个模式。在该模式下你可以通过键盘键入不同的字符或字符组合来达到文本的增、删、查、改的目的 |
文本编辑模式 | 一般是在正常模式下键入“a或”者“i"进入文本编辑模式,在文本编辑模式中你可以通过键盘编辑文本 |
命令模式 | 一般是在正常模式下键入“:”进入命令模式,可以保存、退出、执行外部命令等 |
PS:任何模式下按”ESC“键都可以回到正常模式。
一、Vi编辑器的使用
1、光标的移动(正常模式下)
按键操作 | 功能 |
---|
”J“ | 光标下移 |
”K“ | 光标上移 |
”H“ | 光标左移 |
”L“ | 光标右移 |
”数字+G“或者“数字+gg” | 光标跳到指定行或就只输入“G"跳到最后一行的开头;亦或者只输入“gg”让光标跳到文本的开头。 |
”0“或者”^“ | 光标回到行首 |
“$” | 光标跳到行尾 |
”数字+w“ | 跳过多个单词到达后方某一个单词的开头,或只输入”w”跳到下一个单词的开头 |
”数字+e“ | 跳过多个单词到达后方某一个单词的结尾,或只输入”w”跳到下一个单词的结尾 |
2、增(正常模式下)
按键操作 | 功能 |
---|
”i“ | 在光标前面插入文本,此时处在文本编辑模式 |
”a“ | 在光标后方插入文本,此时处于文本编辑模式 |
“o” | 输入小写的“o”将会在光标下方新建一行,并且将自动进入文本编辑模式 |
“O” | 输入大写的“O"将会在光标上方新建一行,并且将自动进入文本编辑模式 |
“v”+“y”+“p” | 这一套操作就是复制和粘贴,首先按“v”进入可视化操作,然后通过移动光标来选中你要准备复制的文本内容,接着按“y”来确定复制选中部分的内容,最后将光标移动到你准备粘贴的地方后,按下“p“键就可以粘贴了 |
“:r FILENAME” | "r"和“FILENAME"中间有空格,提取FILENAME文件的内容并插入到光标位置的后面 |
”:r !command" | "r"和“!"中间有空格,读取”command“命令的输出并将结果的内容插入到光标位置的后面 |
3、删(正常模式下)
按键操作 | 功能 |
---|
”x“ | 删除光标所在字符 |
”数字+dw“ | 删除多个单词或者就只输入”dw“删除一个单词 |
”d0“或”d^“ | 删除光标至行首的部分,光标处不会删 |
”d$“ | 删除至行尾,光标处也会被删 |
”数字+dd“ | 删除多行或就只输入”dd"删除一行 |
4、查(正常模式下)
按键操作 | 功能 |
---|
“/字符串” | 正向查找字符串,输入要查找的字符串后,按“ENTER”确认,接着按“n”就能一直同向查找,按“N”能一直反向查找 |
“?字符串” | 反向查找字符串,输入要查找的字符串后,按“ENTER”确认,接着按“n”就能一直同向查找,按“N”能一直反向查找 |
“%” | 如果光标处在括号上,按“%”就能找到与之匹配的另一半括号 |
5、改(正常模式下)
按键操作 | 功能 |
---|
“u” | 小写的“u”,撤销以前的操作,可连续撤销多步 |
“U” | 大写的“U”,撤销在当前行中所做的更改 |
“ctrl+r” | 放弃撤销,可连续多次回退 |
“r“ | 将光标处的字符替换,只替换一次 |
”R“ | 将光标处的字符替换,一直替换到行尾 |
”ce“ | 从当前光标处删除到单词结尾,光标处也会被删,并自动进入文本编辑模式 |
”c$“ | 从当前光标处删除到行尾,光标处也会被删,并自动进入文本编辑模式 |
”s/old/new” | 将光标所在行的第一个old字符串替换成字符串new |
”s/old/new/g“ | 将光标所在行中所有的old字符串替换成字符串new |
”%s/old/new” | 将文本中所有行的第一个old字符串替换成字符串new |
”%s/old/new/g“ | 将文本中所有old字符串替换成字符串new |
”%s/old/new/gc” | 将文本中所有old字符串替换成字符串new,并在每一个字符串替换前询问 |
6、其他一些操作
按键操作 | 功能 |
---|
“:q!” | 放弃所有改动并退出Vi |
“:wq” | 保存更改并退出Vi |
“:w filename” | 将当前正在编辑的文本保存为名字未filename的文件 |
”v“+":w filename" | 按”v“键,进入可视模式,选中文本,然后输入”:w filename“,会将选中的文本保存为filename文件 |
参考资料:https://www.shiyanlou.com/courses/2