;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ■インデントタブモード概要 indenttab-mode.l ver0.1.2.1 indent-tab-mode Lispファイルの機能 タブによる自動インデント。 テキストモード用。または他のモード。 indent-tab-modeはモードのオプションの部類になります。 ■indent-tab-mode の使い方 ▼.xyzzy か siteinit.l に、 (load-library "indenttab-mode") と、書いて、xyzzy再起動。(siteinit.lは再コンパイル&ダンプファイル削除後に再起動) キー入力で、 M-x: indent-tab-mode で、ON OFF トグル切り替え。 ▼テキストモードの時indent-tab-modeを使えるようにしておくには、 .xyzzy か siteinit.l に、 (load-library "indenttab-mode") (add-hook 'ed::*text-mode-hook* #'(lambda () (indent-tab-mode t))) で、フックを追加。 テキストモード切り替えは M-x: text-mode ( M-x は Alt + x きー) ■改行(Enter)ですぐインデントしたい場合 indenttab.lファイルの ;(define-key *indent-tab-map* #\RET 'ime-newline-and-indent) のコメントアウト行の行頭のセミコロンを取って、 (define-key *indent-tab-map* #\RET 'ime-newline-and-indent) にすると使えます。 ■モード選択には ポップアップメニューするモード選択Lispファイルを使うと便利です。 ■機能・キー割り当て TAB タブで前行の文字のあるインデントに合わせて飛びます。 S-TAB 通常のタブ。 C-TAB 通常のタブ。 Enter 改行と前の文字のあるインデントの位置にきます。(デフォルトでは使用不可) C-return 通常の改行。 C-j カーソル位置から行の前を削除。 M-j カーソル位置から前の単語を削除。 C-k カーソル位置から行の後を削除。 esc \ カーソル位置の空白を削除。 esc h カーソル位置から前の単語を削除に変更。 F1 選択範囲行の >左の端を揃える。 C-F1 選択範囲の >タブと全角空白を半角空白に。 S-F1 選択範囲行の >シフト。右へ。 C-S-F1 選択範囲行の >シフト。左へ。 M-v リージョンの反転表示。(確認用) Backspaceなどの削除後のUNDO処理のカーソル位置の正常化。など。 (C は Ctr きー)(S は Shift きー)( M は Alt きー) ■キー割り当て インデントタブを使う上で便利そうな機能を てきとー に作ったり足したりして てきとー にキーに割り当てています。 使う方は てきとー コメントアウトしたり てきとー 割り当てを換えてください。。。 ■削除後のUNDOのインサーションポイントの位置は バックスペースやデリートなど主なキーや機能のみ対応。 ■単語削除処理について 通常だと前の行から一気に次の行の単語まで削除してしまったり、 空白を含めて削除されるので、 細かい修正削除の時、ちょっと使いにくいと思い、 空白や改行も単語のうちとして取り扱う。 行頭や行末で一旦とまったり、単語の前後で止まります。 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;