- 论坛徽章:
- 0
|
发信人: law (law), 信区: TecMisc
标 题: vim常用技巧
发信站: UNIX编程 (2002年01月19日09:30:57 星期六), 站内信件
vim常用技巧
写一点vim常用的技巧,
主要是其他讲vim的文章不太讲的。
1. %
%用来匹配块,
如果你的光标在类似([{}])
或者#ifdef #else #endif上
%将把光标跳转到相应的匹配符号上去,
%还可以用来指定命令范围,
如果你想把一个
{
..
...
}的块全部删除。
可以先把光标移到{ 再敲d%
类似的,
如果你想把一个块全部往里缩进一个tab
可以把光标移到 { 敲>%
2. =
=是用来缩进的假设你已经在.vimrc里
设置了你的缩进格式,
你就可以用=来缩进你的代码了
=%就是缩进一个块。
3.正则表达式
正则表达式大家都清楚,
我主要讲个一般人不太用,
但很有用的表达,
例如你想把所有的"..."形式的串替换成'...'的形式
但引号里的内容不变
你就可以用
%s/"\(.*\)"/'\1'/来做
上面这个正则表达式"\(.*\)"里 \用来表示()是元字符
第一个在括号里的被匹配的串就可以被\1来代表, 以后依次是\2 \3。
顺便说一句,我到现在还不
知道怎么限制vim里正则表达匹配的贪婪算法。
------------------------------------
里面说的非贪婪匹配是 \{-},
也就是 %s/"\(.\{-}\)"/'\1'/g
\ 太多了可以用 \v,
%s/\v"(.{-})"/'\1'/g
详细
:h /\{-
:h \v
另外 和 perl 正则表达式的区别在 :h perl-patterns
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/21625/showart_253162.html |
|