vim | Perl | 意义 |
---|---|---|
\@= |
(?= |
顺序环视 |
\@! |
(?! |
顺序否定环视 |
\@<= |
(?<= |
逆序环视 |
\@<! |
(?<! |
逆序否定环视 |
\@> |
(?> |
固化分组 |
\%(atom\) |
(?: |
非捕获型括号 |
和 perl 稍有不同的是,vim 中的环视和固化分组的模式的位置与 perl 不同。 例如,查找紧跟在 foo 之后的 bar,perl 将模式写在环视的括号内, 而 vim 将模式写在环视的元字符之前。 Perl 的写法
/(?<=foo)bar/
vim 的写法
/\(foo\)\@<=bar
Vim 使用示例
/my\(sql\)\@=
/my\(sql\)\@!
/\(my\)\@<=sql
/\(my\)\@<!sql
:%s/\%(my\)sql\(ok\)/\1
上面的命令会将 mysqlok
替换为 ok
,由于 my
为捕获在分组中,故组中 \1
为 ok
。
利用暑假的时间,简单学习了解了下 Lisp 这一编程语言,也可以说这一类编程语言。
Lisp 是一种历史悠久的、函数式编程语言举个简单的例子:
(+ 1 7 9 11)
从 Scheme 官网下载安装包: https://groups.csail.mit.edu/mac/ftpdir/scheme-7.5/#Download
下周安装完成后,可以使用 mit-scheme 命令调用。
在 MIT-Scheme 中输入 code 非常麻烦,光标不能回退和上下移动,所以比较简单的方法就是运行已经写完的文件:
mit-scheme -load yourfile.scm