Emacs-Lispによるメジャーモード作成メモ

Emacs-Lispによるメジャーモード作成方法をメモ。

メジャーモード試作

;;; ok-mode.el --- OK mode

(defun ok ()
  (interactive)
  (setq major-mode 'ok
	mode-name "OK"
	ok-local-map (make-sparse-keymap))
  (use-local-map ok-local-map)
  (define-key ok-local-map "\C-cm" 'ok-talk)
  (define-key ok-local-map "\C-ci" 'ok-talk-insert))

(defun ok-talk (name)
  (interactive "syour name:")
  (message (msg name)))

(defun ok-talk-insert (name)
  (interactive "syour name:")
  (insert (msg name)))

(defun msg (name)
  (concat "Hi! " name))

使用方法

読み込み方法色々
  • M-x load-file で読み込み
  • ファイルを開いた状態で、 M-x eval-current-buffer で読み込み
  • *scratch* バッファに貼り付けて、C-j
  • *scratch* バッファに貼り付けて、C-x C-e
上記の試作メジャーモードの起動
  • M-x ok
上記の試作メジャーモードでの操作(お遊び)
  • C-cm
  • C-ci

参考

やさしいEmacs‐Lisp講座

やさしいEmacs‐Lisp講座