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
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