The Common Lisp Cookbook – エディタサポート

Table of Contents

The Common Lisp Cookbook – エディタサポート

📢 🎓 ⭐ Learn Common Lisp efficiently in videos, by the Cookbook's main contributor. Learn more.

🖊️ Discover a new Common Lisp and Coalton editor for beginners: mine and a new VSCode extension for Common Lisp: OLIVE.

今でも定番のエディタは Emacs ですが、選択肢はそれだけではありません。

このエコシステムに初めて触れる人には、まず ICL の拡張 REPL と mine を試してみることを勧めます。

Emacs

SLIME は Emacs 向けの Superior Lisp Interaction Mode です。実行中の Common Lisp プロセスとやり取りし、コンパイル、デバッグ、ドキュメント検索、クロスリファレンスなどを扱えます。多くの処理系で動作します。

IDEmacs は、Emacs を初心者に使いやすくしようとする試みです。Common Lisp 用に Sly が同梱されています。Emacs v29 以降では、新しい --init-directory オプションのおかげで、.emacs 設定を汚さず一時的に IDEmacs を試せます。DoomSpacemacs など、ほかの Emacs ディストリビューションにも CL サポートが含まれています(それぞれ Sly と Slime)。

plain-common-lisp は、Windows 向けに作られた、インストールしやすい Common Lisp 環境です。Emacs、SBCL、Slime、Quicklisp が同梱されています。また、Win32、Tk、IUP、ftw、Opengl で GUI ウィンドウを表示する方法も示しています。

lisp-stat の Docker イメージ には、すぐ使える Emacs が含まれています。

$ docker run --rm -it ghcr.io/lisp-stat/ls-dev:latest ls-repl
$ emacs
… then Alt-x slime

Emacs and SLIME.

Emacs を IDE として使う

“Using Emacs as an IDE” を参照してください。

Vim & Neovim

Slimv は、Vim 内で Common Lisp を扱うための本格的な環境です。

Vlime は Vim(および Neovim)向けの Common Lisp 開発環境で、Emacs の SLIME や Vim の SLIMV に似ています。

The Slimv plugin with an open REPL

cl-neovim を使うと、Common Lisp で Neovim プラグインを書けます。

quicklisp.nvim は Quicklisp 向けの Neovim フロントエンドです。

Slimv_box は、手早くインストールできるよう、Vim、SBCL、ABCL、tmux を Docker コンテナで提供します。

関連項目:

Mine: Common Lisp と Coalton のための単一ダウンロード IDE

mine は、Common LispCoalton(Common Lisp の静的型付き関数型スーパーセット)の両方に対応した、まったく新しい(2026 年 4 月リリースの)ターミナルベース IDE です。

mine は、Lisp プログラマがこのエコシステムを特徴づけるものとしてよく挙げる、対話的でインクリメンタルな開発ワークフローを体験するために必要なものをすべて備えた、単一ダウンロードの完全なアプリケーションです。ホットリロードやその場でのデバッグも含まれています。

The beginner friendly mine editor.

mine の機能:

ぜひ試してみてください。

また、mine が少し変わっている点にも注意してください。

mine は、かつての QBASIC や Borland Turbo 製品のように簡単であることを目指しています

Pulsar(旧 Atom)

SLIMA を参照してください。このパッケージを使うと、Common Lisp コードを対話的に開発でき、Atom、現在では Pulsar をかなり優れた Lisp IDE にできます。主な機能は次のとおりです。

これは、Emacs の Slime と同じく Swank バックエンドに基づいています。

重要なお知らせ: 執筆時点では、SLIMA は最新の Slime ソースでは動作しません。Slime 2.27 で動作確認しました。SBCL 2.5.8 と SBCL 2.1.11.debian で動作しました。この 1 つの設定については、SLIMA のドキュメントに従ってください。

The SLIMA extension for Atom with an open Lisp REPL

VSCode

OLIVE(2026 年 6 月時点の新規)

OLIVE は新しい(2026 年 6 月公開の)”Old-school LIsp Vscode Extension” です。

Lisp Swank サーバとのやり取りを基盤としており、次の機能があります。

The new OLIVE VSCode plugin showing the REPL.

OLIVE と Alive の比較:

Alive

Alive は VSCode を強力な Common Lisp 開発環境にします。

これは LSP(cl-lsp 経由)に基づいており、現在は次をサポートしています。

The Alive VSCode plugin showing the interactive debugger.

VSCode で Alive を使う

Using VSCode with Alive を参照してください。

commonlisp-vscode

commonlisp-vscode extensioncl-lsp 言語サーバ経由で動作し、ほかのエディタで動く LSP クライアントを書くこともできます。Roswell に大きく依存しています。現在サポートしている機能は次のとおりです。

The VSCode extension with a Lisp REPL, code completion and a mini-map.

Intellij(新しく実験的)

SLT は JetBrains IDE スイート向けの新しい(2023 年 1 月公開の)プラグインです。修正版の SLIME/Swank プロトコルを使って SBCL と通信し、Common Lisp 向けの IDE 機能を提供します。

とても優れたユーザーガイドがあります。

執筆時点のバージョン 0.4 では、次をサポートしています。

警告: このプラグインは Intellij のすべてのリリースで動作するとは限りません。こちらの更新されたフォークも参照してください: https://github.com/ivanbulanov/SLT/releases

SLT, a good Common Lisp plugin for JetBrains IDEs.

Eclipse

Dandelion は Eclipse IDE 用のプラグインです。

Windows、Mac、Linux で利用でき、SBCL と CLISP の組み込みサポート、ほかの環境へ接続する機能、restart 付きの対話的デバッガ、マクロ展開、括弧対応の表示などを備えています。

Dandelion, a simple Common Lisp plugin for Eclipse

Lem

Lem は汎用エディタです。Common Lisp で作られており、Common Lisp で土台から対話的に拡張でき、Common Lisp 開発に合わせて作られています。インストールすればすぐ作業を始められます。組み込みの LSP クライアントにより、Python、Go、Rust、JS、Clojure、Kotlin、Scheme、HTML、CSS など、多くのプログラミング言語を標準でサポートしています。ディレクトリモード、優れた vim レイヤー、対話的な Git モードなどもあります。

インターフェイスは Emacs と SLIME に似ています(ショートカットも同じです)。ncurses フロントエンド、Web ビュー、(非推奨の)SDL2 フロントエンドが付属しています。3 つのプラットフォーム向けにビルド済みバイナリをダウンロードできます。

Lem running in a SDL2 GUI.

ターミナルですぐ REPL として起動できます。次のように実行します。

lem --eval "(lem-lisp-mode:start-lisp-repl t)"

そのため、シェルエイリアスを用意したくなるでしょう。

alias ilem='lem --eval "(lem-lisp-mode:start-lisp-repl t)"'

さらに次のものもあります。

Lem running in the terminal with the Lisp REPL full screen, showing a completion window.

Sublime Text

Sublime Text は現在、Common Lisp を十分にサポートしています。

まず “SublimeREPL” パッケージをインストールし、それから Tools/SublimeREPL のオプションで CL 処理系を選びます。

次に Slyblime が、実行中の Lisp イメージとやり取りする IDE 風の機能を提供します。これは SLY の実装で、同じバックエンド(SLYNK)を使います。スタックフレーム調査付きデバッガなど、高度な機能を提供します。

A Lisp REPL in Sublime Text

LispWorks(プロプライエタリ)

LispWorks は、独自の統合開発環境(IDE)と、CAPI GUI ツールキットなどの独自機能を備えた Common Lisp 処理系です。これはプロプライエタリで、無料の制限版を提供しています。

LispWorks のレビューはこちらで読めます。

The LispWorks listener and the editor in the Mate desktop environment

Zed(2026 年時点の新規)

zed-clZed エディタ用の拡張機能です。

次を提供します。

執筆時点では、エディタプラグイン(LSP、tree-sitter、Jupyter の Rust crate)をビルドする必要があるため、Rust ツールチェーンが必要です。

この拡張機能は LLM の助けを借りて組み立てられた可能性があります

Geany(実験的)

Geany-lispGeany エディタ用の実験的な lisp モードです。シンボル補完、スマートインデント、定義へジャンプ、現在のファイルのコンパイル、エラーと警告のハイライト、REPL、プロジェクトスケルトン作成機能を備えています。

The Geany Lisp plugin showing compilation warnings

Notebooks

common-lisp-jupyter は Jupyter notebook 用の Common Lisp カーネルです。

Lisp で書かれたライブ Jupyter notebook をこちらで見ることができます。インストールは簡単です(Roswell、repo2docker、Docker レシピ)。

A Jupyter notebook running a Common Lisp kernel, exploring the Lorentz system of differential equations, showing a colorful 3D plot with interactive controls (note: the code in the screenshot is actually not Lisp!)

Darkmatter という、Common Lisp で作られた notebook 風の Common Lisp 環境もあります。

REPL

ICL - ターミナル向けの高機能拡張 REPL(NEW)

ICL、Interactive Common Lisp は、ターミナル向けの拡張 REPL です。システムにある任意の処理系で動作します。次のような非常に多くの便利な機能を提供します。

ビルド済みバイナリが用意されています。試してみてください!

cl-repl - readline ベースのシンプルな ipython 風 REPL

cl-repl は ipython 風の REPL です。シンボル補完、magic コマンドとシェルコマンド、複数行編集、ファイル内でのコマンド編集、シンプルなデバッガをサポートします。

バイナリとして利用できます。

cl-repl 0.4.1 runnning in the terminal, built with Roswell, featuring multi-line prompts and syntax highlighting.

その他

ほかにも、多少開発が止まっているものも含め、いくつかのエディタがあります。また Allegro CL など、ほかの Lisp ベンダーの無料版もあります。

関連項目として、Web ベースの GUI ビルダーで Lisp エディタも付属する Common Lisp Omnificent GUI、CLOG も参照してください。

Page source: ja/editor-support.md

T
O
C