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 ^#  查看文件非空行 和 注释行
 
 
 
posted @ 2016-03-21 14:09  Java扫地僧  阅读(85)  评论(0)    收藏  举报