3

私はMacVim(OSX用のgvimの一種)を使用していて、slimvプラグインを実行しようとしています。悲しいことに、それは箱から出して動作していません。実際、まったく起動しません。

私のセットアップ:

  • MacVim(これの32ビットの原因)(vim 7.3)
  • :scriptnamesftplugin/slimv.vimはリストされている間plugin/paredit.vimはリストされません
  • :set ft?filetype=lisp.lispファイルのショー
  • :messagesはエラーを表示しません
  • :ファイルタイプ 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とスライムがインストールされています-emacsで完璧に動作します。.vimrcの有無にかかわらず試してみてlet g:slimv_swank_cmd = ...、プラグインページで推奨されている行をから変更しました

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

let g:slimv_swank_cmd = '!sh -c "sbcl --load /Applications/MacVim.app/Contents/Resources/vim/runtime/slime/start-swank.lisp" &'

osascriptが機能しておらず、修正方法がわからないためです。しかし、Linuxではxtermへの同様の呼び出しで十分なので、私のsh呼び出しは問題ないはずです。さて、次に何をしようかわからなかった。:/

この問題は、MacVimに埋め込まれているvimではなく〜/.vimにslimvをインストールすることで解決しました。多分ある種のバグ?ただし、Common Lisp+vim-私はそれが大好きです。

4

3 に答える 3

2

Slimv.vimがリストされておらず、:scriptnames定義されg:slimv_loadedていない場合は、プラグインがまったくロードされていません。ファイルタイププラグインが有効になっていないと思います。Pareditは一般的なプラグインですが、slimv.vimはファイルタイププラグインであり、filetype/indentプラグインを明示的に有効にする必要があります。.vimrcこれらの行をあなたの:に追加してみてください

filetype plugin on
filetype indent on
于 2012-04-02T06:49:01.413 に答える
2

Slimvプラグインを移動して~/.vim修正したため、問題はMacVimのデフォルトがslimvで提供されるファイル/Applications/MacVim.app/Contents/Resources/vim/runtime/ftplugin/lisp.vimの前に供給されていることだと思います。ftplugin/lisp/slimv-lisp.vim

これらのファイル(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

したがって、最初にソースを取得したファイルはfinish、別の* lisp * .vimスクリプトが以前に実行されたことを検出し、したがってb:did_ftpluginbuffer-local変数を設定した場合、vimが実行する(スクリプトを終了する)ため、他のファイルの実行を妨げます。

これが起こっていることは、コマンドラインから引数を指定してMacVimを実行することでわかります。

-V20macvim-log.txt hello.lisp

次に、起動するMacVimセッションを終了し、作成されたmacvim-log.txtファイルを確認します。

検索すると、b:did_ftplugin実行するたびに参照されていることがわかります。最初に実行されるため、機能しなくなります。lisp.vimslimv-lisp.vimlisp.vimslimv-lisp.vim

Slimvインストールを/Applications/MacVim.app/dirからdirに移動すると、前にソースされる~/.vimように順序が変更され、slimvが機能します。slimv-lisp.vimlisp.vim

于 2013-09-12T02:47:41.363 に答える
0

この問題は、MacVimに埋め込まれているvimではなく〜/.vimにslimvをインストールすることで解決しました。多分ある種のバグ?ただし、Common Lisp+vim-私はそれが大好きです。

于 2012-04-02T18:02:47.467 に答える