Vi的3种运行模式
普通模式normal
插入模式insert
命令行cmdline
普通模式下的操作
命令 | 说明 | 命令 | 说明 |
---|---|---|---|
i | 从光标所在位置前开始插入文本 | I | 将光标移到当前行的行首,在其前面插入文本 |
a | 用于在光标当前所在位置之后追加新文本 | A | 将光标移到当前行的行尾,在后面插入文本 |
o | 将在光标所在行的下面新开一行,置于该行行首 | O | 将在光标所在行的上面新开一行,置于该行行首 |
G | 将光标移至最后一行的行首 | $ | 移动到光标所在行的行尾 |
nG | 光标移至第n行首 | n/rc | 用字符c替换光标所指向的当前/前n个字符 |
n/x | 删除光标处的/向右的n个字符 | n/dd | 删除光标所在的整/当前及后n-1行 |
yy | 将当前行的内容复制到缓冲区 | p | 将缓冲区的内容写到光标所在位置 |
/str | 往右移动到有str的地方 | n | 向相同的方向移动到有str的地方 |
?str | 往左移动到有str的地方 | N | 向相反的方向移动到有str的地方 |
u | 取消前一次的误操作 | . | 再执行一次前面刚完成的某个命令 |
ZZ | 存盘退出 | ZQ | 不保存退出 |
命令模式下的操作
命令 | 说明 | 命令 | 说明 |
---|---|---|---|
:n | 跳转到指定行 | :/str/w file | 将包含有str的行写到文件file中 |
:s/str1/str2/g c | 将找到的第一个str1替换为str2 g所有替换 c替换询问 |
:n1,n2 co/m n3 | 将从n1开始到n2为止的所以内容复制/移动到n3后面 |
:d | 删除当前行 | :w /file | 将当前编辑的内容存盘 / 写到file中 |
:r file | 打开另一个文件file | :e file | 新建file文件 |
:f file | 把当前文件改名为file文件 | :!Cmd | 运行shell命令cmd |
:n1,n2 w ! Cmd | 将n1到n2行的内容作为cmd命令输入,不指定整个文件全部输入 | :r ! Cmd | 将命令运行的结果写入当前行位置 |
:set autuindent /noautoindent | 缩进/取消缩进 | :set number /nonumber | 编辑时显示行号/取消显示 |
:set ruler /noruler | 显示光标所在行列位置/取消显示 | :set tabstop=value | 设置显示制表符的空格字符个数 |
:set wrapmargin=value | 设置显示器的右边页,自动换行 | :set / all | 显示设置的所以选项/显示所有可以设置的选项 |
未完待续……
人们只愿看到自己想看到的一切,分不清是非对错,黑白颠倒。–Hades