[vim和gvim技巧]vimgvim技巧大全(7).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[vim和gvim技巧]vim

在insert模式下,C-R (register) 插入register里的内容,一个有趣的reg是=. 假设你想输入123K的具体字节数,不用打开计算器,试试这个“=1024*123”, “125952”就出来了! 另外在命令行里C-R C-W和C-R C-A是必用的技巧,他们将光标下的和 考到命令行里,省了你无数的typing。 3. C-X (auto complete) 在insert模式下,C-X C-P/N/L/F等自动完成前面的词、行、文件名等,是编程时必用的 命令。其中C-P和C-N能不用C-X。 4. [p ]p (smart paste) paste同时自动根据目标行的缩进调整来源行的缩进。在copy代码段的时候非常有用。 5. C-O (fast out, fast in) 在insert模式下,用C-O后能执行一个normal命令,然后即时返回insert模式,省去了 用ESC的麻烦。 6. [I (fast grep ) [I显示文件中包含光标下的所有行。我常用来浏览某个id在程式中的引用情况。 更有非常多相关的命令::h include-search 7. object-select iw, aw, ib, i], i} ... 都非常有用!看help吧 :h object-select 先写这么多,以后再补充吧。 例如你想把所有的...形式的串替换成’...’的形式 但引号里的内容不变 你就能用 %s/\(.*\)/’\1’/来做 上面这个正则表达式\(.*\)里 \用来表示()是元字符 第一个在括号里的被匹配的串就能被\1来代表, 以后依次是\2 \3。 顺便说一句,我到目前还不 知道怎么限制vim里正则表达匹配的贪婪算法。 ------------------------------------ 里面说的非贪婪匹配是 \{-}, ? ? 也就是 %s/\(.\{-}\)/’\1’/g ? ? \ 太多了能用 \v, ? ?? ???%s/\v(.{-})/’\1’/g 周详 ? ? :h /\{- ? ? :h \v 另外 和 perl 正则表达式的差别在 :h perl-patterns 把 替换为 ??~字符 ~~~~~数字和点 我用s/\(^.*)\(\.\d*.\)com/\1.com/ 结果为 请问有没有好点儿的办法?谢谢 ─────────────────────────────────────☆ ? ?alphatan ( C ) 于??(Tue Aug 10 09:27:19 2004)??提到: 【 在 qiaolin (风儿) 的大作中提到: 】 : 把 替换为 :? ?~字符 ~~~~~数字和点 : 我用s/\(^.*)\(\.\d*.\)com/\1.com/ ??1. \(^.*\) 一下子把整个字符串吞进去了. \1 = ??2. 遇见com把 com从\1中吐出来. \1 = aaaaa.20300.2000. ??3. 遇见.把com前面的\.吐出来? ?\1 = aaaaa.20300.2000 ??4. 遇见\d*, 再把随后的2000吐出来 \1 = aaaaa.20300. ??5. 遇见\., 把.也呕出来了.??\1 = aaaaa.20300 所以, 得到你要的结果. 能用\{-}进行非贪婪匹配. 但为什么不直接把数字跟他们的点去掉呢? s/[0-9.]\+//g : 结果为 : 请问有没有好点儿的办法?谢谢 ─────────────────────────────────────☆ ? ?qiaolin (风儿) 于??(Tue Aug 10 09:36:27 2004)??提到: 谢谢大侠,有问题请教: 贪婪匹配的顺序是怎样的呢? 在这个例子中,先匹配第一个pattern,再从最后面的pattern一个一个“吐”出来? 【 在 alphatan ( C ) 的大作中提到: 】 :? ?1. \(^.*\) 一下子把整个字符串吞进去了. \1 = :? ?2. 遇见com把 com从\1中吐出来. \1 = aaaaa.20300.2000. :? ?3. 遇见.把com前面的\.吐出来? ?\1 = aaaaa.20300.2000 :? ?4. 遇见\d*, 再把随后的2000吐出来 \1 = aaaaa.20300. :? ?5. 遇见\., 把.也呕出来了.??\1 = aaaaa.20300 : 所以, 得到你要的结果. : 能用\{-}进行非贪婪匹配. : 但为什么不直接把数字跟他们的点去掉呢? : s/[0-9.]\+//g 这里没有这样用是因为aaaaa也可能是a123a,可不能用/w呢? 在查找、替换命令 使用以下正

文档评论(0)

jiaoyuguanliji + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档