首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MacVim: slimv没有启动

MacVim: slimv没有启动
EN

Stack Overflow用户
提问于 2012-04-01 21:14:51
回答 3查看 1.7K关注 0票数 3

我正在使用MacVim (类似于OSX的gvim ),并尝试运行瘦身插件。遗憾的是它没能从盒子里出来。事实上,它根本没有启动。

我的设置:

  • MacVim (32位因此) (vim7.3)
  • :scriptnames不列出ftplugin/slimv.vim,而plugin/paredit.vim则列出
  • :set?显示了用于.lisp文件的filetype=lisp
  • :消息没有显示错误
  • :文件类型 filetype detection:ON plugin:ON indent:ON
  • :echo g:paredit_loaded 1
  • :echo g:slimv_loaded E121: Undefined variable: g:slimv_loaded \ E15: Invalid expression: g:slimv_loaded
  • 用+python (2.7)编译

SBCL和黏液被安装我尝试过在.vimrc中使用和不使用.vimrc,并将插件页面上推荐的行从

代码语言:javascript
复制
let g:slimv_swank_cmd = '!osascript -e "tell application \"Terminal\" to do script \"sbcl --load ~/.vim/slime/start-swank.lisp\""' 

代码语言:javascript
复制
let g:slimv_swank_cmd = '!sh -c "sbcl --load /Applications/MacVim.app/Contents/Resources/vim/runtime/slime/start-swank.lisp" &'

因为抄本不管用,我也不知道怎么修。但是,对xterm的类似调用对于Linux来说已经足够了,所以我的sh调用应该是可以的。我不知道接下来该做什么。:/

通过将slimv安装到~/.vim来解决问题,而不是安装在MacVim中的vim。也许是某种虫子?但是,Common + vim -我只是喜欢它。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-12 02:47:41

因为将slimv插件迁移到~/.vim修复了它,我怀疑问题在于MacVim的默认/Applications/MacVim.app/Contents/Resources/vim/runtime/ftplugin/lisp.vim是在slimv提供的ftplugin/lisp/slimv-lisp.vim文件之前提供的。

这两个文件(lisp.vimslimv-lisp.vim)都以如下代码开头:

代码语言:javascript
复制
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
    finish
endif

" Don't load another plugin for this buffer
let b:did_ftplugin = 1

因此,无论哪个文件首先获得源,都将阻止另一个文件运行,因为vim执行finish (退出脚本),如果它检测到先前运行了另一个*lisp*.vim脚本,并因此设置了b:did_ftplugin缓冲区-局部变量。

您可以通过在带有参数的命令行中运行MacVim来判断这一点:

代码语言:javascript
复制
-V20macvim-log.txt hello.lisp

然后退出启动的MacVim会话,查看它创建的macvim-log.txt文件。

搜索b:did_ftplugin,您将看到每次运行lisp.vimslimv-lisp.vim时都会引用它,您可以看到lisp.vim首先运行,这阻止了slimv-lisp.vim的工作。

将您的slimv安装从/Applications/MacVim.app/ dir移动到您的~/.vim dir将更改订单,以便slimv-lisp.vimlisp.vim之前获得,然后slimv就能工作了。

票数 2
EN

Stack Overflow用户

发布于 2012-04-02 06:49:01

如果slimv.vim没有在:scriptnames中列出,并且g:slimv_loaded是未定义的,那么您根本就没有加载插件。我想你还没有启用文件类型插件。Paredit是一个通用插件,但是slimv.vim是一个文件型插件,必须显式地启用文件类型/缩进插件。尝试将这些行添加到.vimrc

代码语言:javascript
复制
filetype plugin on
filetype indent on
票数 2
EN

Stack Overflow用户

发布于 2012-04-02 18:02:47

通过将slimv安装到~/.vim,而不是安装在MacVim中的vim,解决了这个问题。也许是某种虫子?但是,Common + vim -我只是喜欢它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9968408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档