- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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-search7. object-selectiw, 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)