我正在尝试创建一个模块来解析以特定方式分割的vim文件。示例文件:
" My section {
set nocompatible " be iMproved
set encoding=utf-8
" }
" vim: set foldmarker={,} foldlevel=0 foldmethod=marker:
在编写模块时,我陷入了这一点:
module Vimrc =
autoload xfm
let section = del "" " "" " . key /[^n]+/ . del "n" "n" . store /.*/ . del "" " "" "
let lns = [ section . del "n" "n" ] *
let filter = (incl "*.vim")
let xfm = transform lns filter
我知道还有一些其他错误,但它抱怨regex key /[^n]+/
,说:
/tmp/aug/virc.aug:3.36-.48:异常:键regexp/[^]+/matches一个"/"
我不明白/
角色与此有什么关系。
正如错误所说,您的键regexp与斜杠匹配,这是非法的,因为/
在树中用作级别分隔符。
如果您的节名称可以包含斜杠,则需要将它们存储为节点值,而不是标签,因此不要使用:
{ "My section"
{ "set" = "nocompatible" { "#comment" = "be iMproved" } } }
你必须做:
{ "section" = "My section"
{ "set" = "nocompatible" { "#comment" = "be iMproved" } } }