文本编辑器vi是linux系统的第一个全屏幕交互编辑程序。vi是visual interface 的简称。vi没有菜单只有命令,且命令繁多。
vi有3种工作模式:
一、命令行模式
二、文本编辑模式
三、末行模式
命令模式:命令模式是vi启动后进入的工作模式,可以转换为文本编辑模式和末行模式。在命令模式下从键盘输入的任何字符都被当做编辑命令来解释,而不会在屏幕上显示。如果输入的字符时合法的vi命令,则vi完成相应的动作;否则vi响铃警告。任何时候,不管用户处于任何模式,只要按一下<Esc>键,即可使vi进入命令模式。
文本编辑模式:在命令模式下输入i(“插入”命令,在当前位置插入)、“a”(“附加”命令,在当前位置的后一位插入)后进入文本编辑模式。
末行模式:在命令模式下,按“:”进入末行模式,此时,在屏幕的底部显示“:”,符号作为末行模式的提示符,等待用户输入相关命令。
vi启动多个文件:
通过: vi a b c 同时打开了a b c 三个文件,通过在末行模式中输入 :n来调至下一个文件,:e#回到刚才编辑的文件,如果想回到某个文件的话使用 :e a ,表示回到a文件继续编辑。
设置行号: :set nu 或者 setnumber ,取消行号::set nonumber
命令行模式下光标移动:
光标定位命令 | 功 能 |
0 | 将光标移动到当前行的行首 |
^ | 将光标移动到当前行的行首 |
$ | 将光标移到当前行的行尾 |
nnG | 将光标移动到第nn行,nn为行号 |
G($) | 将光标移到文件的最后一行的行尾 |
- | 将光标移动到上一行行首 |
+ | 将光标移动到下一行行首 |
nn | 将光标移动到当前行的nn列,nn为列号 |
/abc | 将光标移动到文中字符串abc下次出现的位置 |
L | 将光标移动到屏幕的最下面一行 |
M | 将光标移动到屏幕的中间一行 |
H | 将光标移动到屏幕的 |
‘’ | 将光标返回原来位置 |
b | |
w | 将光标移动到下一个单词的开头 |
h | 将光标左移动一个字符 |
j | 将光标下移动一个字符 |
k | 将光标上移动一个字符 |
l | 将光标右移动一个字符 |
后翻一屏:Ctrl + b
前翻半屏:Ctrl + d
前翻半屏:Ctrl + u
插入文本:
在光标右边插入文本 输入“a”
在一行的结尾处添加文本 输入“A
在光标左边添加文本 输入“i
在行首添加文本 输入I
在光标所在的下一行插入新行 输入“o
在光标所在的上一行插入新行 输入“O
撤销操作:
撤销前一个命令 输入“u”
撤销对一行的更改 输入“U”
删除文本:
删除一个字符 输入“x”
删除一个词 输入“dw”
删除一行 输入“dd”
删除行的部分类容 输入“D” 删除光标有的内容;“d0”删除光标左的内容
删除到文件的结尾 输入“dG”
复制和粘贴:
复制一行内容 输入“yy”
粘贴 输入“p”
剪切 输入“dd”
查找字符串:
输入查找内容 输入“/”
跳到下一个出现处 输入“n”
跳到上一个出现处 输入“N”
保存文件:
输入: :w newfile