vi

命令方式/编辑方式:当前键入的字符都作为命令。

插入方式:当前键入的字符都被插入到文件缓冲区的当前光标位置

转义方式/末行模式:进行查找、退出等特殊操作。

用法

【dd/ndd】删除一行(到缓冲区)/删除多行

【0】移动到行首

【$】移动到行尾

【n+】向下移动n行

【n-】向上移动n行

【:n】移动到第n行

【i/I】insert 光标当前位置进行插入/行首插入

【a/A】append 光标后一位置进行插入/行尾插入

【o/O】光标当前行下面插入一行/上面插入

【w/W】移动到下一单词开始/字符串开始

【e/E】移动到下一单词末尾/字符串末尾

【b/B】移动到上一单词开始/字符串开始

【Ctrl+Y】向上滚动屏幕

【Ctrl+E】向下滚动屏幕

【p/P】将缓冲区的内容粘贴到光标的后/前面

【yy/nyy】复制当前行/复制多行(到内存缓冲区)

【set nu】显示行号

【】

【】

【】

c$ 用输入的正文替换从光标开始到本行末尾的所有字符
c0 用输入的正文替换从本行开头到光标的所有字符
删除当前1个字符 x(nx)
删除前面字符 X(nX)

重复执行上一次命令 .
取消上一次命令 u
:r file 读取file文件的内容,插入当前光标所在行的后面
向前检索 /pattern; :/pattern/
向后检索 ?pattern; :?pattern?
同/反方向重复检索 n/N
当前行替换第一个串 ���/str1/str2(可加行号范围)
当前行替换所有串 ���/str1/str2/g
全文替换 :1,$ s/str1/str2/g