开源工具技巧VimSpaceVim

Vim 环视和固化分组

2018-08-15  本文已影响88人  SpaceVim
vim Perl 意义
\@= (?= 顺序环视
\@! (?! 顺序否定环视
\@<= (?<= 逆序环视
\@<! (?<! 逆序否定环视
\@> (?> 固化分组
\%(atom\) (?: 非捕获型括号

和 perl 稍有不同的是,vim 中的环视和固化分组的模式的位置与 perl 不同。 例如,查找紧跟在 foo 之后的 bar,perl 将模式写在环视的括号内, 而 vim 将模式写在环视的元字符之前。
Perl的写法

/(?<=foo)bar/

vim的写法

/\(foo\)\@<=bar

Vim 使用示例

:%s/\%(my\)sql\(ok\)/\1

上面的命令会将 mysqlok 替换为 ok ,由于 my 为捕获在分组中,故组中 \1ok

欢迎加入我们的 QQ 群,与 vimer 一起交流更多的 vim 使用技巧: 755208473

上一篇 下一篇

猜你喜欢

热点阅读