全角スペースもインデントとみなす
xyzzyで何かを書くとき全角のスペースをインデント代わりによく使うのだけども、これをxyzzyはインデントとして認識せず手助けしてくれない。そこで。
lisp/cmds.lの
(defun indent-relative () (interactive "*") (delete-horizontal-spaces) (indent-to (save-excursion (goto-bol) (skip-chars-backward " \t\n") (goto-bol) (skip-chars-forward " \t") (if (eolp) 0 (current-column)))) t)
の2つの""の中に全角空白を追加するだけでOK。見ただけだとよくわからないがこんな感じ↓
(defun indent-relative () (interactive "*") (delete-horizontal-spaces) (indent-to (save-excursion (goto-bol) (skip-chars-backward " \t\n");←ここと (goto-bol) (skip-chars-forward " \t");←ここね (if (eolp) 0 (current-column)))) t)
lisp/textmode.lの最後に
(define-key *text-mode-map* #\RET 'newline-and-indent)
を追加しておくと、テキストモードでReturnを押すと自動でインデントしてくれてより幸せかもしれない。僕は最近はC-jを使うけど。
インデントは半角スペースで詰められるので、Firefoxの外部エディタなんかとして使うときは最後に" "(半角x2)を" "(全角)にreplace-stringしないとレイアウトが崩れて困る(半角スペースが表示されない)ことがあったりなかったり。