Vi 特殊操作

来源:互联网 发布:免费字母设计logo软件 编辑:程序博客网 时间:2024/06/04 01:39
1. nyl 复制光标后n个字符

     nyh 复制光标后n个字符

2.行缩进

按v进入visual状态,选择多行,用>或<缩进或缩出

在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行。使用gg=G可对整篇代码进行排版。

3.将shell命令执行的结果送到vi的当前窗口里。

:r !command

4.查找替换

/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2/g:将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换

========================================

在所有行首添加‘#’

:%s/^/#/g

在指定行首添加‘#’

:3,7s/^/#/

/////////////////////////////////////////////////////////////////////////////////

在整个文件的各行或某几行的行首或行尾加一些字符串。
vi file :3,$s/^/some string / 在文件的第一行至最后一行的行首插入“some string”。
:%s/$/some string/g 在整个文件每一行的行尾添加“some string”。
:%s/string1/string2/g 在整个文件中替换“string1”成“string2”。
:3,7s/string1/string2/ 仅替换文件中的第3行到第7行中的“string1”成“string2”。
注意: 其中s为substitute,%表示所有行,g表示global。

替换一个字符串
在一行内替换头一个字符串old为新的字符串new
s/old/new
在一行内替换所有的字符串old为新的字符串new
s/old/new/g
在两行内替换所有的字符串old为新的字符串new
#,#s/old/new/g
在文件内替换所有的字符串old为新的字符串new
%s/old/new/g
进行全文替换时询问用户确认每个替换需添加c选项
%s/old/new/g


原创粉丝点击