はじめに
CommonLispで作られたエディタのlemの設定について、調べたことをメモ書きしていきます。
lemは以下から取得できます。
.lemrcファイル
ホームディレクトリに「.lemrc」というファイルを作成し、先頭に以下のコードを記載します。
.lemrc
(in-package :lem-user)
キーバインド
キーバインドを登録する場合は以下のように記載。
.lemrc
(define-key *global-keymap* "押下するキー" '実行される機能)
例) Undo機能のキーバインド
.lemrc
(define-key *global-keymap* "C-x u" 'undo)
シンタックスハイライト
既にあるテーマを使う場合は以下のように記載。
.lemrc
(load-theme "テーマ名")
例) 「emacs-dark」を使うには以下のコードを追記。
.lemrc
(load-theme "emacs-dark")
自分でテーマを作成する場合は以下のように記載。
.lemrc
(define-color-theme "テーマ名" ("親テーマ名")
(foreground "色値") ; 前景色
(background "色値") ; 背景色
(cursor :foreground "色値" :background "色値") ; カーソル色
(minibuffer-prompt-attribute :foreground "色値" :bold-p t) ; ミニバッファ色(太字)
(syntax-string-attribute :foreground "色値" :bold-p t) ; 文字列色(太字)
(syntax-comment-attribute :foreground "色値") ; コメント色
(syntax-keyword-attribute :foreground "色値" :bold-p t) ; キーワード色(太字)
(syntax-constant-attribute :foreground "色値") ; 定数色
(syntax-function-name-attribute :foreground "色値" :bold-p t) ; 関数色(太字)
(syntax-variable-attribute :foreground "色値")) ; 変数色
;; テーマをロード
(load-theme "テーマ名")
例) かなり適当に作成。
.lemrc
(define-color-theme "my-theme" ("emacs-dark")
(foreground "#FFFFFF") ; 前景色
(background "#000000") ; 背景色
(cursor :foreground "#222222" :background "#dddddd") ; カーソル色
(minibuffer-prompt-attribute :foreground "red" :bold-p t) ; ミニバッファ色(太字)
(syntax-string-attribute :foreground "green" :bold-p t) ; 文字列色(太字)
(syntax-comment-attribute :foreground "blue") ; コメント色
(syntax-keyword-attribute :foreground "orange" :bold-p t) ; キーワード色
(syntax-constant-attribute :foreground "cyan") ; 定数色
(syntax-function-name-attribute :foreground "blue" :bold-p t) ; 関数色
(syntax-variable-attribute :foreground "red")) ; 変数色
;; テーマをロード
(load-theme "my-theme")
こんな感じになりました。
この他にも設定が多々あります。
色々探して試してみるのも面白いかもしれません。
行番号表示
行番号を表示する場合は以下のコードを追記します。
.lemrc
(setf (variable-value 'lem.line-numbers:line-numbers :global) t)
最後に
とりあえず、自分がわかっている範囲で適当に記載していきました。
間違ってたり、他にもこんなことできるよ、とかあったら教えてくれると嬉しいです。
Comments