vlime
概要
インストール
code:init.lua
-- lazy.nvim
require("lazy").setup({
{
"vlime/vlime",
ft = 'lisp',
config = function(plugin)
vim.opt.rtp:append(plugin.dir .. "/vim")
end
},
-- ...
)
設定
code:vim
" Leaderを,に設定
let g:vlime_leader = ","
起動方法
1. <vlime-leader>rrでサーバーの起動と接続が可能です
2. もしくは、Vlimeをコマンドラインから起動し、<vlime-leader>ccで接続することも可能です code:shell
# Roswellでの起動例
$ ros run --load ~/.local/share/nvim/lazy/vlime/lisp/start-vlime.lisp
バッファー
:h vlime-buffer-types
vlime_server
vlime_repl
vlime_inspector
キーマッピング
<vlime-leader>? - Vlimeのキーマッピングを確認する <vlime-leader>cc - 既存のサーバーへ接続する
<vlime-loader>cd - サーバーへの接続を切断する
<vlime-leader>rr - サーバーを起動し、vlime_serverバッファーを表示します (起動する処理系はg:vlime_cl_implで設定できる)
<vlime-leader>rs - サーバーを停止する
<vlime-leader>rv - vlime_serverバッファーを表示する
<vlime-leader>rV - 起動しているサーバーを一覧表示します
<vlime-leader>ss - 選択している行をREPLへ送る
使い方
code:vim
let g:vlime_cl_impl = "ros"
function! VlimeBuildServerCommandFor_ros(vlime_loader, vlime_eval) abort
return ["ros", "run",
\ "--load", a:vlime_loader,
\ "--eval", a:vlime_eval]
endfunction
code:vim
let g:vlime_cl_impl = "qlot"
function! VlimeBuildServerCommandFor_qlot(vlime_loader, vlime_eval) abort
endfunction
code:vim
autocmd User asyncomplete_setup call asyncomplete#register_source(asyncomplete#sources#vlime#get_source_options({ 'priority': 10 }))
トラブルシューティング
,rrでREPLへ接続に失敗してしまう場合、g:vlime_neovim_connectorのデフォルト値にncatが設定されているため、ncatが入っていない場合に、コマンドの実行に失敗してしまいます ncatをインストールするか、以下のようにnc(netcat)コマンドを利用するよう設定すると回避できます(将来的にg:vlime_neovim_connectorは非推奨化されるようなので注意) code:vim
let g:vlime_neovim_connector = "nc"
function! VlimeBuildConnectorCommandFor_nc(host, port, timeout)
if type(a:timeout) == type(v:null)
else
endif
endfunction
参考