読者です 読者をやめる 読者になる 読者になる

Devlion Memo

どことなくそれっぽい大学生の日記

slimvでCIMを使う

KeenS/CIM · GitHubkovisoft/slimv · GitHubで使うメモ.

まず,.vimrcに以下を追記する.

" for slimv
let g:slimv_lisp = '~/.cim/bin/cl --repl'
let g:slimv_impl = 'cl'

次に,slimvを改造する.

slimvのディレクトリ/ftplugin/lisp/slimv-lisp.vimを編集し,
function! SlimvSwankLoader()の以下の処理を,

    " Build proper SWANK loader command for the Lisp implementation used
    if g:slimv_impl == 'sbcl'
        return '"' . g:slimv_lisp . '" --load "' . swanks[0] . '"'
    elseif g:slimv_impl == 'clisp'
        return '"' . g:slimv_lisp . '" -i "' . swanks[0] . '"'
    elseif g:slimv_impl == 'allegro'
        return '"' . g:slimv_lisp . '" -L "' . swanks[0] . '"'
    elseif g:slimv_impl == 'cmu'
        return '"' . g:slimv_lisp . '" -load "' . swanks[0] . '"'
    else
        return '"' . g:slimv_lisp . '" -l "' . swanks[0] . '"'
    endif

このように書き換える.

    " Build proper SWANK loader command for the Lisp implementation used
    if g:slimv_impl == 'sbcl'
        return '"' . g:slimv_lisp . '" --load "' . swanks[0] . '"'
    elseif g:slimv_impl == 'clisp'
        return '"' . g:slimv_lisp . '" -i "' . swanks[0] . '"'
    elseif g:slimv_impl == 'allegro'
        return '"' . g:slimv_lisp . '" -L "' . swanks[0] . '"'
    elseif g:slimv_impl == 'cmu'
        return '"' . g:slimv_lisp . '" -load "' . swanks[0] . '"'
    " 追記
    elseif g:slimv_impl == 'cl'
        return '"' . g:slimv_lisp . '" -f "' . swanks[0] . '"'
    " ここまで
    else
        return '"' . g:slimv_lisp . '" -l "' . swanks[0] . '"'
    endif

以上.