1. メニューから選択する
Emacs でコードの整形をする場合、C-M-\ を入力し、indent-region を呼び出す。
DrRacket でコードの整形をするには、
- インデントを整えたい式を範囲選択しておく。
- メニューより、Racket > Reindent を選択する。
表示されている全てのコードを整形するには、Reindent の下にある Reindent All を選ぶ。
2. キーボードで操作する
キーボードから、メニューの Racket > Reindent を選択するには、他のアプリケーションと同様に、
のキーを順に押せば良い。
もっと簡単に Reindent するには、整形するコードを選択した後、
を押す。
3.1 Menus によると、
Reindent : Indents the selected text according to the standard Racket formatting conventions. (Pressing the Tab key has the same effect.)
3. 移動、選択、整形の操作手順
コードを整形するには、式を選択する必要がる。S 式を選択するには、
3.3 Keyboard Shortcuts
M-C-SPACE : select forward S-expression
ところで、DrRacket を Emacs のキーバインディングで利用している。また、Escape キーの入力は C-[ で代用している。
例えば、次のような式を入力した後、結果を display 手続きに渡したくなったとする。
(* 3
(+ 1 2)
(- 10 5))
キャレットが式に末尾にある場合、
-
先頭へ移動: Ctrl キーを押しながら [, b
-
S 式の選択: Ctrl キーを押しながら [, Space
-
括弧で括る: Ctrl キーを押しながら [ 。次に ( を入力する。
-
display と入力。
M-( : wrap selection in parentheses
このとき、キャレットは display の右横にある。
(display (* 3
(+ 1 2)
(- 10 5)))
全体を整形するために、
-
外側の括弧へ移動: Ctrl キーを押しながら [, u
-
S 式の選択: Ctrl キーを押しながら [, Space
-
整形: Tab
M-C-u : move up out of an S-expression
M-C-d : move down into a nested S-expression
4. その他
メニューより、Edit > Keybindings > Show Active Keybindings を選択すると、現在有効なキーバインディングの一覧が表示される。
S 式を選択する (forward-select-sexp) キーとして、上記以外に、
とあるが、キーを入力しても、forward-select-word
と同じ動作になってしまう。
6.16 keymap% によると、
For a special keyword, the capitalization does not matter. However, capitalization is important for single-letter keynames. Furthermore, single-letter ASCII keynames are treated specially: A and s:a are both treated as s:A. However, when c: is included on Windows without m:, or when d: is included on Mac OS X, then ASCII letters are not upcased with s:, since the upcasing behavior of the Shift key is cancelled by Control without Alt (on Windows) or by Command (on Mac OS X).
その他、タブの入力に関する動作を以下に挙げておく。
Index
tabify
tabify-all
tabify-on-return?
tabify-selection