- 追加された行はこの色です。
- 削除された行はこの色です。
[[Linuxの備忘録]]
[[役に立つページ:http://www.bookshelf.jp/soft/meadow.html#SEC_Top]]:
以下,その一部からの引用
Lisp は非常に括弧の多い言語です.それだけに対応する括弧が分かりにくくなります.また, C 言語などでも括弧をスムーズに移動できると,非常に便利になります.ここでは,そんな括弧に関連した標準のコマンドを紹介します.
* C-M-f, C-M-b:現在のインデントで,式単位で移動 [#vae5a591]
下のような関数で,青色のところの括弧にカーソルがあるとします.ここで, C-M-f(Ctrl+Alt+f) を何度か入力すると,ピンクの位置へカーソルが移動します.こんな風に,順番に同レベルの式へ移動できます.C-M-bなら逆方向へ移動できます.
(defvar lisp-mode-map
(let ((map (make-sparse-keymap)))
_ (set-keymap-parent map lisp-mode-shared-map)_
(define-key map "\e\C-x" 'lisp-eval-defun)_
(progn
(message "test")
)_
map)
)
* C-M-n, C-M-p:括弧単位で移動する [#i9bd25b9]
C-M-fとほぼ同じ.ただし,括弧単位なので,多少移動の仕方が異なる.対応する 括弧に移動したい時に使うと便利.
* C-M-u, C-M-d:インデントを 1 つ上がる (下がる) [#v2f75610]
青の位置からピンクの位置への移動です.
(defvar lisp-mode-map
(let ((map (make-sparse-keymap)))
(set-keymap-parent map lisp-mode-shared-map)
_ (define-key map "\e\C-x" 'lisp-eval-defun)
(progn
(message "test")
)
map)
)
* M-a, M-e:文単位で移動 [#r759ce6e]
関数なら,その開始場所へ一気にジャンプできます.文章なら文の先頭 (あるいは行末) へ移動します.
移動後,M-kとすると,文単位で切り取りできます.C-a C-kと同じようなことを文単位でするのが,M-a M-kです.
* C-M-a, C-M-e:関数単位での移動 [#la736a9c]
関数単位で移動できます.
* C-M-SPC:式をリージョンで選択 [#ua370a37]
現在カーソルがある位置の式をリージョンで選択します.
* C-M-k:式を切り取る [#ye3b0ad3]
式の切り取りができます.
* C-M-h [#c65f79ec]
関数全体をリージョンで選択します.
* C-M-\:リージョン内を再インデント [#e1fc447f]
リージョン内のインデントをやり直します.
さらに,全体がどうなっているのか知りたい時には,C-x $ (set-selective-display) が便利です.これは,C-u 3 C-x $のように,引数を与えて使います.こうすると, 3 文字以上字下げされているものは表示されなくなります.そのため,全体を見回すのに便利です.
再度,C-x $とすると,隠れていた部分を元に戻すことができます.
ただし,このようにテキストの一部を隠すコマンドは物理行移動の Emacs Lisp や設定などとの相性が悪いです.ものによっては,カーソルが変なところへ移動してしまうこともあります.