Unix 提供一系列的 ex 编辑器,包括 ex, edit 和 vi 。相对於全屏幕编辑器,现在可能很难想像如何使用 ex, edit 这种行列编辑器。 Vi 的原意是 "Visual",它是一个立即反应的编辑程序,也就是说可以立刻看到操作结果。
也由于 vi 是全屏幕编辑器,所以它必须控制整个终端屏幕哪里该显示些什么。而终端机的种类有许多种,特性又不尽相同,所以 vi 有必要知道现在所使用的是哪一种终端机。这是由 TERM 这个环境变数来设定,设定环境变数方面请查看所使用shell的说明。
只要简单的在Shell下执行vi就可以进入 vi 的编辑环境。在实际操作之前先对它有个了解会比较好。Vi 有两种模式,输入模式以及指令模式。输入模式即是用来输入文字资料,而指令模式则是用来下达一些编排文件、存档、以及离开 vi 等等的操作指令。当执行 vi 后,会先进入指令模式,此时输入的任何字元都视为指令。对于vi的详细操作,可参考相关的Unix教程
vi 创建文件和编辑文件
格式 vi [参数] [路径/名称]
文件内容的保存和退出
正常---〉命令模式
q quit 推出
w write 保存
命令模式
set nu 显示文件行号
set nonu 取消显示行号
q
w
q! 强制退出,不保存修改结果。
正常模式:
^ 光标移动到行首
$ 光标移动到行尾
h 光标向左移动
l 光标向右移动
j 光标向下
k 光标向上
x 删除光标后边的一个字符
X 删除光标前面的一个字符。
nx 删除后边的字符
nX 删除前面的字符
dd 删除一行
ndd 删除光标后的连续n行
yy 复制一整行
nyy 复制连续的n行
p 粘贴
yw 复制一个字符。
nyw
u 撤销操作
gg 返回文件首部
ngg 光标定位到某行
GG 返回文件尾部