添加和删除 vim 解释器的目录ߣ导入路径
以下代码的 mzscheme 等效项是什么?
-
蟒蛇:
python 导入 sys, vim python sys.path.append(vim.eval("var")) <...> python sys.path.remove(vim.eval("var"))
-
perl:
perl push @INC, [VIM::Eval("var")]->[1]; <...> perl @INC=(grep {$_ ne VIM::Eval("var")} @INC);
-
lua:
let str=';'.var.'/?.lua;'.var.'/?/init.lua' lua package.path=package.path..vim.eval("str") <...> 让 ppath=[] lua vim.eval("add(ppath,"..string.format("%q", package.path)..")") 让 importidx=stridx(ppath[0], str) 让 importendidx=importidx+len(str) 让 ppath[0]=((importidx>0)?(ppath[0][:(importidx-1)]):(""))。 \ppath[0][(importendidx+1):] lua package.path=vim.eval("ppath[0]")
-
红宝石:
ruby $LOAD_PATH << VIM::评估(“var”) <...> 红宝石 $LOAD_PATH.delete(VIM::evaluate("var"))
-
tcl:
silent tcl lappend auto_path [::vim::expr "dir"] <...> 静默 tcl 设置 auto_path \ [l替换 $auto_path \ {*}[l重复 2 \ [lsearch -exact $auto_path \ [::vim::expr "a:fdict.imported"]]]]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这取决于您想用脚本做什么。 Racket(它已经很长时间没有被称为“mzscheme”了)与模块一起工作,所以你很少使用“将路径添加到动态加载路径”类型的工作流程。相反,模块是使用
require
形式从库的核心集合或您已安装的包中导入的。如果您确实需要动态加载内容,一种选择是设置
current-directory
参数,然后使用动态要求
。dynamic-require
将从提供的目录中的add.rkt
文件中提取add
函数。注意:我还没有测试过这段代码,因为我找不到编译了 Racket 支持的 vim 版本。您可以在 Racket 此处。 Racket 的一般文档此处。
That depends on what you want to do with your script. Racket (it hasn't been called "mzscheme" for a long time now) works with modules, so you rarely use the "add a path to a dynamic load path" kind of workflow. Instead, modules are imported using the
require
form from either the core collection of libraries or from packages you've installed.If you really need to load things dynamically, one option is to set the
current-directory
parameter and then usedynamic-require
.The
dynamic-require
will pull out theadd
function from theadd.rkt
file in the supplied directory. Note: I haven't tested this code since I can't find a version of vim that has Racket support compiled in.You can find the documentation for the vim interface in Racket here. General documentation for Racket here.