btcinfo  

Hic inserere motto

Installing slimv using esthlos-v

December 30, 2021 — shinohai

Slimv stands for Superior Lisp Interaction Mode for Vim. It is a Vim plugin of 2009 vintage written by Tamas Kovacs, preserved in the form of a vpatch. This is for folx who already have vim,tmux, and sbcl installed and want a quick and reliable method for enabling a swank server in vim ala emacs.

Populate your slimv tree, mine is available at http://btc.info.gf/devel/vim/plugins/slimv/

# tree slimv/
slimv/
├── patches
│   └── slimv.genesis.vpatch
├── seals
│   └── slimv.genesis.vpatch.shinohai.sig
└── wot
    └── shinohai.asc

Using esthlos-v press slimv directly to the vim plugins directory:

`v press slimv.genesis.vpatch ~/.vim/pack/plugins/start/`

My sbcl binary is in a nonstandard location (because Gentoo) and I couldn't get the swank server to start from within vim. I remedied this with a function that starts swank in a tmux window using rlwrap:

swank() {
tmux ls | grep '>_' > /dev/null || (
  tmux new-session -d -s '>_' -n '[swank]' rlwrap /usr/local/bin/sbcl --load \
   ~/.vim/pack/plugins/start/slimv/slime/start-swank.lisp
)
exec tmux attach -t '>_'
}

Now when I open a `.lisp` file, vim presents me with a new buffer containing a REPL connected via swank:

BUT WAIT ! THERE'S MOAR !!!

Bundled with slimv is a tool called paredit which will, amongst other things,match parenthesis for you as you code. To learn more about it's features read the documentation by entering `:help paredit`

Tags: News, Lisp, Linux