Sitemap

Member-only story

Scheming with Vim: A Practical Setup for Scheme

3 min readApr 24, 2025

--

For years, Emacs has been considered the go-to editor for Lisp and Scheme programming, largely thanks to powerful tools like Geiser. However, Neovim, with the right configuration and plugins, can offer an equally smooth and productive environment for Scheme coding. In this article, I’ll share my personal setup for writing Chicken Scheme and Racket code efficiently using Neovim.

Vim

Setting up Chicken Scheme with Neovim

When working with Chicken Scheme, I’ve followed recommendations available on the Chicken Scheme official site, along with the insights from Evan Hanson’s blog post, Editing Scheme in Vim.

Keyword lookup

One customization I’ve made is to adjust keywordprg. Rather than simply using chicken-doc, I've found that using:

setlocal keywordprg=chicken-doc\ scheme

provides results more aligned with my needs.

Completion and navigation

Here’s my concise yet effective after/ftplugin/scheme.vim:

let b:is_chicken = 1
setlocal makeprg=csc\ %
setlocal complete+=,k~/.local/share/scheme/words
setlocal include=\^\(\(use\\|require-extension\)\s\+
setlocal includeexpr=substitute(v:fname,'$','.scm','')
setlocal…

--

--

Alex Carter
Alex Carter

Written by Alex Carter

Full Stack Developer #AI #Value Investing www.bestlists.top

Responses (1)