Поскольку перемещение подключаемого модуля slimv на ~/.vim
исправило его, я подозреваю, что проблема заключается в том, что по умолчанию MacVim /Applications/MacVim.app/Contents/Resources/vim/runtime/ftplugin/lisp.vim
поступает до файла ftplugin/lisp/slimv-lisp.vim
, поставляемого с Slimv.
Оба этих файла (lisp.vim
и slimv-lisp.vim
) начинаются с кода, подобного следующему:
" 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 из командной строки с аргументами:
-V20macvim-log.txt hello.lisp
Затем выйдите из сеанса MacVim, который запускается, и посмотрите на созданный файл macvim-log.txt.
Найдите b:did_ftplugin
, и вы увидите, что на него ссылаются каждый раз lisp.vim
или slimv-lisp.vim
запускается, и вы видите, что lisp.vim
запускается первым, что препятствует работе slimv-lisp.vim
.
Перенос вашей установки Slimv из /Applications/MacVim.app/
в вашу директорию ~/.vim
изменитсяпорядок, чтобыslimv-lisp.vim
поставляется до lisp.vim
, и тогда будет работать slimv.