文档库

最新最全的文档下载
当前位置:文档库 > vi 高级技巧征集

vi 高级技巧征集

vi 高级技巧征集

vi 高级技巧征集

vi 高级技巧征集中......

作者:ahyan 发表时间:2002/08/23 11:24am [这个贴子最后由valentine在 2002/08/30 11:53am 编辑]

交换两个字符位置

xp

上下两行调换

ddp

把文件内容反转

:g/^/m0/

这个m0怎么解析呢 ?

valentine 解释:

xp和ddp 应该理解为删除一个字符(x)和删除一行(dd),然后在p(paste),这样便不需记新命令了.

把文件内容反转 (按行反转)

:g/^/m0/ 应该是 :g/^/m0 无最后的/

此文章相关评论:

该文章有75个相关评论如下:(点这儿可以发表评论)

bjchenxu发表于: 2002/08/23 11:29am

[这个贴子最后由valentine在 2002/08/30 11:54am 编辑]

m-->move

0-->line No 1

试想,从第1行开始,每一行依次放在文件的开头处,会有什么结果???

valentine:

这个解释要收到汇总里,不错.

yummy发表于: 2002/08/23 11:37am

是啊,造就该这样做了!

:X

保存后就加密了

bjchenxu发表于: 2002/08/23 11:44am

补充一下

:X

然后系统会提示输入密码

输入密码后存盘退出

下次编辑时请使用

vi -x filename

系统会提示你输入密码,呵呵

ahyan发表于: 2002/08/23 12:25pm

所以大家呀抛转引玉呀

上下两行合并

J

删除所有行

dG

从当前位置删除到行尾

d$

从当前位置复制到行尾

y$ 如果要粘贴到其他地方 p 就可以了

ahyan发表于: 2002/08/23 12:47pm

由于vi 是建立在 EX 上的所以当键入 : 时就来到了 EX 命令状态

:ab string strings

例如 ":ab usa United States of America" ,

当你在文见里插入 usa 时

United States of America 就蹦出来了

:map keys new_seq

定义你当前键盘命令

:set [all]

vi or ex 的编辑状态

如显示每行 :set nu

bjchenxu发表于: 2002/08/23 01:08pm

[quote][b]下面引用由[u]yummy[/u]在 [i]2002/08/23 12:05pm[/i] 发表的内容:[/b]

希望 VI资深专家:bjchenxu 要多发表一些技巧呦,这样才名副其实呀,呵呵!

[/quote]

接受建议,大家努努力,多发言,争取赶超solaris版,毕竟哪个UNIX都得用shell吧,^_^

yummy发表于: 2002/08/23 01:09pm

every good,大家加油呀!

goodboy发表于: 2002/08/23 02:26pm

在命令状态下,nyy表示拷贝从光标行起的下n行内容,p表示paste,粘贴下来在光标处。

狂砂发表于: 2002/08/23 03:42pm

我常用到的单个字符替换用r,覆盖多个字符用R,用多个字符替换一个字符用s,整行替换用S

阿骁发表于: 2002/08/23 05:00pm

:%s/old_word/new_word/g

这个指令是于在整个文件中替换特定字符串

a31247发表于: 2002/08/23 07:03pm

将光标移到第n行,按下 mk

将光标移到第m行,按下 "ay'k

即将第n到m的行存到a寄存器,以此类推,b,c........寄存器等

a31247发表于: 2002/08/23 07:05pm

不好意思,补充一下,想粘贴到某处,直接将光标移到某地,按下…ap 即可

tellinboy发表于: 2002/08/23 08:07pm

表8-2 删除命令

删除命令操作

d l 删除当前字符(与x命令功能相同)

d 0 删除到某一行的开始位置

d ^ 删除到某一行的第一个字符位置(不包括空格或TA B字符)

d w 删除到某个单词的结尾位置

d 3 w 删除到第三个单词的结尾位置

d b 删除到某个单词的开始位置

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

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

下载

(续)

删除命令操作

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

d)删除到某个语句的结尾位置

d 4)删除到第四个语句的结尾位置

d(删除到某个语句的开始位置

d } 删除到某个段落的结尾位置

d { 删除到某个段落的开始位置

d 7 { 删除到当前段落起始位置之前的第7个段落位置

d d 删除当前行

d /t

e x t 删除从文本中出现“ t e x t”中所指定字样的位置,一直向前直到下一个该字样所出现的位置(但不包括该字样)之间的内容

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

该字符)之间的内容

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

D 删除到某一行的结尾

d $ 删除到某一行的结尾

5 d d 删除从当前行所开始的5行内容

d L 删除直到屏幕上最后一行的内容

d H 删除直到屏幕上第一行的内容

d G 删除直到工作缓存区结尾的内容

d 1 G 删除直到工作缓存区开始的内容

下载

表8-3 修改命令

修改命令操作

c l 更改当前字符

c w 修改到某个单词的结尾位置

c 3 w 修改到第三个单词的结尾位置

c b 修改到某个单词的开始位置

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

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

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

c 0 修改到某行的结尾位置

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

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

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

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

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

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

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

C 修改到某一行的结尾

c c 修改当前行

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

表8-4 替换命令

替换命令操作

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

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

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

下载