您的位置:首页 > 其它

vim 使用技巧 部分总结

2011-10-21 21:47 337 查看
06-8-16 :vi的文本替换

(1)替换从第n行到第m行的文本

:
,[m]s/[需要替换的文本]/[替换文本]/g

(2)替换整个文本种的需要替换的文本

:%s/[需要替换的文本]/[替换文本]/g

(3)替换从当前光标开始处,到第n行的需要替换的文本

:.,
s/abcd/dbde/g

06-8-17 vi 中的查找命令

(1):/的用法

<1>从光标向后查找相应字符串[STR]

:/[STR]

<2>从光标向后查找句首含有[STR]的行

:/^[STR]

<3>查找后光标的移动,移到从光标起到下x个找到的字符的位置

xn

<4>移动到找到的第一个匹配的位置

<5>光标移动到找到模式的最后一个位置

(2)?string

<1>光标所在处向前查找相应的字符串

:?[STR]

<2>

06-8-18 vi中光标移动命令

<1>上下左右移动x行: 也就是右手在键盘上放置的位置部分

xk,xj,xh,xl 其中x是数字如1k,2j,3h,4l 分别是向上下左右移动1,2,3,4行

<2>跳到指定行数

nG 其中n是行数

<3>报告光标所在的行数和列数

Ctrl+G

<4>使光标向前或向后跳一个单词

w,b

<5>使光标移动到行首/尾

<5>在屏幕中移动的命令

H 跳到第一行

M 跳到中间一行

L 跳到最后一行

06-8-18 vi中的删除命令

(1)删除当前一个字符

<1>删除当前字符,光标停留在原字符处

dl

<2>删除当前字符,光标停留在光标前一个字符

x

(2)删除一行中的字符

<1>删除光标所在的一行

dd

<2>删除从光标起前一个字符到行首的所有字符

d0 或 d^

<3>删除从光标处到行尾的所有字符

D 或 d$

<4>删除从光标起到一行开始处的所有字符

d 0

d ^(不包括空格和tab键)

<5>删除从光标起的后5行内容

5dd

(3)删除单词

<1>删除(改变)当前单词(d->delete,c->change)

dw (cw)

<2>删除光标后三个单词

3dw

<3>删除从光标起的三个单词末尾

d3w

<4>删除光标前x个单词

dxb

<5>删除到某个以空格作为分隔符的单词的结尾位置

dW

<6>删除到某个以空格作为分隔符的单词的开始位置

dB

<7>删除到前面7个以空格作为分隔符的单词的开始位置

d7B

(4)删除屏幕中的字符

<1>删除直到屏幕上第一行的内容

dH

<2>删除到屏幕所在文本的最后一行

d L

(5)删除缓冲区中的区域

<1>删除从光标到结尾处的所有行

dG

<2>删除从光标位置到工作缓冲区开始处所有行(包括光标所在行)

d1G

(5)删除特定条件下的字符

<1>删除当前行直到下一个字符“ c”所出现位置之间的内容

d tc

<2>删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括

该字符)之间的内容

d fc

(6)段落的删除

<1>删除到某个语句的结尾位置

d)

<2>删除到第四个语句的结尾位置

d 4)

<3>删除到某个语句的开始位置d

d(

<4>删除到某个段落的结尾位置

d }

<5>删除到某个段落的开始位置

d {

<6>删除到当前段落起始位置之前的第7个段落位置

d 7 {

08-19 vi 中的修改操作命令(change)

(1)字符的修改

<1>修改当前字符

cl

<2>

<2>单词的修改

<1>修改到某个单词的结尾位置

c w

<2>修改到第三个单词的结尾位置

c 3 w

<3>修改到某个单词的开始位置

c b

<4>修改到某个以空格作为分隔符的单词的结尾位置

c W

<5>修改到某个以空格作为分隔符的单词的开始位置

c B

<6>修改到前面7个以空格作为分隔符的单词的开始位置

c 7 B

(3)行的修改

<1>修改到某行的开始位置

c 0

<2>修改当前行

c c

<3>修改到某一行的结尾

C

c) 修改到某个语句的结尾位置

c 4) 修改到第四个语句的结尾位置

c( 修改到某个语句的开始位置

c } 修改到某个段落的结尾位置

c { 修改到某个段落的开始位置

c 7 { 修改到当前段落起始位置之前的第7个段落位置

c tc 修改当前行直到下一个字符c所出现位置之间的内容

5 c c 修改从当前行所开始的5行内容

重复上一次修改!

表8-4 替换命令

替换命令操作

s 将当前字符替换为一个或多个字符

S 将当前行替换为一个或多个字符

5 s 将从当前字符开始的5个字符替换为一个或多个字符

vi替换使用规则:

:g/s1/s/s2/s3/g

第一个g表示对每一个包括s1的行都进行替换,第二个g表示对每一行包括s1的行所有的s2都用s3替换

s表示替换,s2是要被替换的字符串,他可以和s1相同(如果相同的话用//代替),s3是替换字符串

08-19 vi中移动字符的命令

(1)字母的交换

<1>交换光标所在字母和下一个字母

xp

(2)行的移动

<1>上下两行调换

ddp

<2>将上下两行合并

J

08-19 vi中的复制粘贴命令

(1)同一文件中的操作

<1>复制粘贴一行的命令

yy 复制光标所在行 p 粘贴到光标位置

<2>从当前位置复制到行尾

y$

p是粘贴命令

<3>复制向下x行

xyy

<4>复制光标所在列到第一列的所有资料

y1G

<5>复制光标所在列到最后一列的所有资料

yG

<6>粘贴

p 粘贴在光标下一行

P 则为贴在光标上一行!

(2)

08-19 vi 的保存和退出

w 将编辑的资料写入硬盘档案中(常用)

:w! 若档案属性为『只读』时,强制写入该档案

:q 离开 vi (常用)

:q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。

:wq 储存后离开,若为 :wq! 则为强制储存后离开(常用)

:e! 将档案还原到最原始的状态!

ZZ 若档案没有更动,则不储存离开,若档案已经经过更动,则储存后离开!

:w [filename] 将编辑的资料储存成另一个档案(类似另存新档)

:r [filename] 在编辑的资料中,读入另一个档案的资料。亦即将 『filename』这个档案内容加到光标所在行后面

:set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号

:set nonu 与 set nu 相反,为取消行号!

n1,n2 w [filename] 将 n1 到 n2 的内容储存成 filename 这个档案。

:! command 暂时离开 vi 到指令列模式下执行 command 的显示结果!例如[ :! ls /home ]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: