vi 常用命令
1.打开文件时
|
vi +n file 打开文件,光标停在第n行首
vi + file 打开文件,光标停在最后一行首
vi +/abc file 打开文件,光标停在第一个abc处
|
2.行
|
(/ ) 光标到句首/光标到句尾
{ / } 光标到段首/ 光标到段尾
0 / $ 光标到行首/ 行尾
nG/n$ 光标到第n 行的行首/光标到第n行的行尾
n+ 光标下移 n 行
n- 光标上移 n 行
H/M/L 光标到屏幕 顶行/中间行/尾行
ctrl u/d 翻半屏
enter 光标下移 1行
AI 当前行 行首/行尾 处编辑
Oo 新开行,然后编辑
nS 删除指定数目的行,然后开始编辑
ns 删除指定书目的字符,然后开始编辑
d0 d$ 删除光标到行首 / 行尾
ndd 删除n 行
X/x 删除光标前/后的一个
搜索
/abc ?abc 向后/前 搜索abc, N/n 下一个或者上一个
替换
:s/str1/str2/g 将光标行 str1 全部替换为 str2 ( :n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代 )
:g/str1/s//str2/g 将文件中所有str1 替换为str2
替换路径:比如替换/a/b 为 /AA :%s#/a/b#/b#g
:n1,n2 co n3 将 n1-n2 复制到 n3
:n1,n2 m n3 将 n1-n2 移动到 n3
:n1,n2 d 删除n1-n2行
:!ls /home 编辑文件过程中,执行一下其他命令;
:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入
:r!command:将命令command的输出结果放到当前行
2.在打开一个文件编辑后才知道登录的用户对该文件没有写的权限,不能存盘,需要将所做修改存入临时文件。
---- vi file ---- :w /tmp/1 保存所做的所有修改,也可以将其中的某一部分修改保存到临时文件,例如仅仅把第20~59行之间的内容存盘成文件/tmp/1,我们可以键入如下命令。 ---- vi file ---- :20,59w /tmp/1
6.替换文件中的路径。
---- 使用命令“:%s#/usr/bin#/bin#g”可以把文件中所有路径/usr/bin换成/bin。也可以使用命令“:%s//usr/bin//bin/g”实现,其中“”是转义字符,表明其后的“/”字符是具有实际意义的字符,不是分隔符。
:3r /etc/passwd”从新文件的第3行开始读入 /etc/passwd的所有内容。
|
cat a.f | grep -v ^$| grep -v ^# 查看文件非空行 和 注释行

浙公网安备 33010602011771号