vi 打开vi空白面板
vi filename 以编辑模式打开文件。如果参数为已有文件,在vi中打开;如果参数为新文件名,在vi退出时提示用户保存编辑内容
vi -R filename 以只读模式打开文件
vi -o file1 file2 同时打开多个文件并全部查看 只能在一个文件中进行修改
vim file1 file2 查看一个文件
ctrl + ww 切换不同文件
:n 切换到后一个文件
:prex 切换到前一个文件
command mode
i 在当前光标位置之前插入文本
I 在当前行的开始处插入文本
a 在当前光标位置之后插入文本
A 在当前行的结尾处插入文本
o 在光标位置的下面为文本条目创建一个新行
O 在光标位置的上面为文本条目创建一个新行
n1-n2 替换:n1,n2s /old/new 指定区间替换内容
查找: / 字符
设置区分大小写: set ic 不区分大小写 set noic
dg 删除光标所在行到末尾
gg 转到第一行
G 转到最后一行
ng :n 到第n行
o 转到行首
$ 转到行尾
x 删除光标所在位置的字符
nx 删除光标所在处之后的n个字符
dw 从当前光标位置开始删除,一直到下一个单词
D 从光标位置开始删除,一直到当前行结束
dd 删除光标所在行
ndd 删除光标之后的n行
u 撤销上一步操作 可以连续使用
:n1,n2d 删除n1-n2之间的行
cw 修改光标所在位置的单词,修改范围是从游标位置一直到单词结束
r 替换光标所在位置的字符
R 覆盖从光标当前所在的字符开始的多个字符,按ESC结束
map 设置快捷键
map ctrl+v+letter
s 用输入字符替换当前字符
S 删除光标所在行,并用新文本替换,输入新文本后,仍处在插入状态
J 将当前行与下面的行合并为一行
yy 复制当前行
nyy 复制当前行以下n行
yw 复制当前单词
dd 剪切当前行
ndd 剪切当前行以下n行
p 将复制的文本插入到光标位置的后面
P 将复制的文本插入到光标位置的前面
string 搜索指定字符串
:%s/old_string/new_string 全文替换将old_string替换为new_string
:q 退出vi编辑器,如果对文件进行了修改,vi不能退出,返回编辑模式
:q!或:w!或:wq! 强行退出vi编辑器,无论对文件是否进行了修改,都将退出编辑器
:w 保存当前文件,如果用户正在编辑一个已有文件,直接保存。如果当前用户对该文件没有写入,将保存失败
:wq 或 zz 或 :x 保存并退出
:w filename 将文件保存在filename中,该命令将修改后的文件保存为另一个文件。如果用户启动vi时没有使用文件名作为参数,
那就必须使用这个命令,否则用户会丢失已做的修改。
:e! 打开文件上次成功保存的版本,以便在发现输入错误时,退回最近一次的保留版本