vi命令

进入vi的命令 
vi filename :打开或新建文件,并将光标置于第一行首 
vi +n filename :打开文件,并将光标置于第n行首 
vi + filename :打开文件,并将光标置于最后一行首 
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 
 
移动光标
h:左
j:下
k:上
l:右
 
插入命令 
i :在光标前  
a:光标后 
 
替换命令
r:替换当前字符 
R:替换当前字符及其后的字符,直至按ESC键 
 
删除命令 
do:删至行首 
d$:删至行尾 
 
 
最后行方式命令 
:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下 
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下 
:n1,n2 d :将n1行到n2行之间的内容删除 
:w :保存当前文件 
:x:保存当前文件并退出 
:q:退出vi 
:q!:不保存文件并退出vi 
 
 
搜索替换字符

:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
n 为数字,若 n 为 .,表示从当前行开始到最后一行

:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky
:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

:%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/

 
 
 
 
 
 
A case using shell script to execute vi commands:
#!/bin/bash
cd /short/v71/ywu565/settling/quenching/Newest/Bo00100
vi hopp3d.inp -c ':1,$s/1.8e-19/1.8e-20/g' -c':wq'
Here '-c' gives to command to be executed in vi
 
 
 
 
 
 
 
 
 
posted @ 2017-12-08 12:09  YWU  阅读(110)  评论(0)    收藏  举报