ホーム / xyzzy関連 / comment.l


comment.l

各種編集モードに応じて、リージョンをコメントアウトしたり、 逆にリージョンのコメント記号を外したりします。 ftp://ftp.splode.com/pub/users/friedman/emacs-lisp/comment.elを移植しました。

説明

使い方

comment-out-regionコマンドを C-c q というキーに割り当ててあるとします。

リージョンをコメントアウトするときは、 対象とするリージョンを指定したあと C-c q を入力します。

リージョンのコメント記号を削除するときは、 対象とするリージョンを指定したあと C-u C-c q と入力します。

前置引数として数値を指定した場合、つまりたとえば M-2 C-c q とか M-- 2 C-c q などのように入力すると、付加したり削除したりする記号の数が変わりま す。

対応している編集モード

初期状態で以下のメジャーモードに対応しています。

basic-mode, c++-mode, c-mode, csharp-mode, css-mode, java-mode, html-mode, idl-mode, LaTeX-mode, lisp-interaction-mode, lisp-mode, pascal-mode, perl-mode, sql-mode, text-mode, html+-mode, jscript-mode, php-mode, ruby-mode

対応する編集モードの追加

対応する編集モードを追加するにはcomment-mode-alist 変数に必要な 設定を加えてください。以下に変数の中身を説明します。

comment-mode-alist変数はメジャーモードとコメント記号の関係を記述した もので、その値はリストのリストになっています。そして要素である各リストは メジャーモードを表すシンボル(buffer-modeの値)とある値の組からなります。 値の組は二種類あって、そのどちらか一方を記述します。

  1. 値の組の最初の値が nil か文字列の場合、それぞれの値の意味は次のよう になります。

  2. 値の組の最初の値が文字の場合、それぞれ値の意味は次のようになります。

モードに対応するエントリが無いときは、もしあれば、comment-start変数と comment-end変数に設定されている値を使います。

上のいずれにも該当しないときには、t というキーで登録されているエントリを 使います。

設定を追加する例:
(add-hook '*comment-after-load-hook*
          (lambda () (push '(ed::bat-mode "REM ") comment-mode-alist)))

KaTeXも使う場合

KaTeXの comment.l とこの comment.l の両方を強制的に読みこんでみてください。 .xyzzyに次のように記述します。パス名は環境に合わせて変更してください。

; (require "elisp") の後に
(load "C:/path/to/site-lisp/katex/comment.lc")   ; 未コンパイルならcomment.l
(load "C:/path/to/site-lisp/comment.lc")

履歴


ホーム / xyzzy関連 / comment.l