vi总结
命令行方式:命令行方式是用户进入vi的初始方式。在此方式中,用户输入vi的命令,请求vi为你完成不同的工作。例如:光标移动、删除字符、删除单词等,也可以进行选定内容的复制、写盘及退出vi等工作。从命令行方式可切换到其他;两种工作方式中,在其他两种工作方式下也可返回命令行方式。
插入编辑方式:在插入编辑方式下,用户可在编写的文件中添加或输入文本及程序代码。对初学者来说应注意的是:插入方式并非是进入vi的初始状态。需使用vi的“i”“a”(i改的是光标前的a改的是光标后的。)等命令进行切换。当用户完成插入操作后,须点击Esc键结束插入方式返回命令行方式。
末行命令方式:在vi的末行命令方式下,有许多操作功能类似于命令行方式只是它的命令输入出现在屏幕的最底部,在命令行方式输入:“:”“/”‘?"等字符可进入末行命令行方式。在末行命令行方式下,当输入命令完成后,vi控制程序会自动返回命令行方式下等待下一步操作。
命令行方式下常用的命令
h 光标左移一个字符
l 光标右移一个字符
k 光标上移一个字符
j 光标下移一个字符
G 光标移至文件的最后一行
nG 光标移至第n行首部
0 光标移至首行
$ 光标移至行尾
H光标移至屏幕的最上行
M光标移至屏幕的中部
L 光标移至屏幕的最下行
w 光标右移一个单词
nw 光标右移n个单词
b光标左移一个字符
nb 光标右移n个单词
x 删除光标所在的字符
dw 删除光标所在的单词
dd 删除光标所在行
D 删除至行尾部
d0 删除至行首部
dG 删除至文件尾部
4dd 从光标所在行开始删除4行内容
u 取消上一行操作
. 重复上一行操作
Y 将当前行拷贝至编辑缓冲区
5Y 将当前行以后的5行内容拷贝至编辑
缓冲区
p 将 将拷贝至编辑缓冲区拷贝至d当前行后一行
P 将 将拷贝至编辑缓冲区拷贝至d当前行前一行
J 下一行拼接在当前行之后
^d,^f 屏幕向下(向前)滚动
^u,^b 屏幕向上(向后)滚动
^G 显示当前编辑文件的相关信息
ZZ必要时写盘并退出编辑
末行命令方式下常用的命令
/exp 从光标处向前寻找字符串exp
?exp 从光标处向后寻找字符串exp
n 重复前一行搜索命令
N 从光标处反方向重复前一行搜索命令
:w 写盘
:w file 写到盘文件file中
:w >>file 将内容写至原有内容之后
:w!file 强行进行写盘文件file的动作
:q 退出编辑程序
:q! 强行退出编辑程序,同时放弃编辑缓冲区的内容
:wq 写盘后退出编辑程序
;x 对修改后的信息写盘后退出编辑程序
:e 另行编辑文件
:e! 另行编辑文件同时放弃编辑缓冲区的内容
:e file 打开并编辑文件file
:s/old/new 将当前行中碰到的第一个字符串old改为字符串new
:s/old/new/g 将当前行中碰到的所有字符串old改为字符串new
:3,9s/old/new 对3~9行内容进行:s/old/new 的操作
:%s/old/new 对所有行内容进行:s/old/new 的操作
:%s/old/new/g 对所有行内容进行:s/old/new/g 的操作
:set nu 设置编辑时显示行号
:set nonu 设置编辑时不显示行号
:set all 显示所有环境设置
:set list 显示不可见字符
:! cmd 在程序运行中执行shell命令cmd
进入插入编辑方式的常用命令
a 将文本添加到光标后
A 将文本添加至行尾
cw 修改一个单词
c3w 修改3个单词
i 将文本插入到光标前
I 将文本插入行首
o 在光标所在行下面插入新行
O在光标所在行上面插入新行
r 在光标所在位置替换一个字符
R 替换若干个字符