潘多 2010年03月06日 星期六 21:22 | 1077次浏览 | 1条评论
just vi it
vi
@ vi 有三种基本工作模式:命令模式,文本输入模式和末行模式。
@ 一些末行模式的基本操作
:w 保存现有文件
:q 不保存文件并退出VI编辑器
:wq 保存文件并退出编辑器
:q! 强制不保存并退出
:wq! 强制保存并退出
:nw 文件名 把第n行的内容写入新文件
:10,20w /home/h/newtest 把第10行到20行的内容写入newtest
:.,.+10 /home/h/newtest 把本行以及下10行写入newtest
:.,.+10 /home/h/newtest 把本行以及上10行写入newtest
…………………………………………………………
@光标定位
$ 光标移动到本行的末尾
^ 移动光标到本行第一个非空字符
H 光标移动到当前屏幕所在的最上行
nH 3H 移动到3行
M 光标移动到屏幕中间
L 光标移动到当前屏幕的最低行
nL 5L 当前屏幕的倒数第5行
gg 移动到正文的绝对行第一行
G 移动到正文的绝对行的最后一行
:$ 同上
:n 移动光标到正文绝对行的第n行
……………………………………………………………
@字符插入
a 光标右侧输入正文
i 左侧
o 在光标所在行的下一行添加一新行
s 题换光标当前所在字符,在输入字符
A 在光标所在行的行尾输入字符
I 在光标所在行的行首输入字符
O 在光标所在行的上一行新增一行
S 题换光标所在行,再输入字符
………………………………………………………………
@字符删除
dd 删除光标所在行
ndd 6dd 删除光标所在行和以下5行,共6行
x 删除字符
nx
………………………………………………………………
@字符串查找
/string 从文件顶向文件尾查找字符串string
?string 从文件尾向文件顶查找字符串string
n 沿着远方向移动到下一个匹配的字符
N 反方向
………………………………………………………………
@字符串替换
:s/str1/str2/ 只执行一次
:s/str1/str2/g
:.,$ s/str1/str2/g 当前行到末尾
:1,$ s/str1/str2/g
…………………………………………………………………
@撤销与重复
u 撤销前一条命令的结果
. 重复命令,仅能重复最近一次的操作。
…………………………………………………………………
@剪切,复制和粘贴
yy 复制光标当前行的内容到内存缓冲区
nyy
p 粘贴
P
dd 删除,可以作剪切用。用dd删除的内容并不会马上消失,而是被剪切复制到内存缓冲区
……………………………………………………………………
@vi高级命令
-o 水平分割窗口
-O 垂直分割窗口
vim -o file1 file2
Ctrl + w 实现屏幕之间的切换
……………………………………………………………………
@文件的写入与输出
:r !cat /etc/passwd 把结果写入光标所在的位置
:1,2W /home /h/file 把1.2行写入file:
Zeuux © 2024
京ICP备05028076号
回复 徐继哲 2010年03月07日 星期日 19:52