パスワードを忘れた? アカウント作成
15777189 journal
日記

yuuka_maniaの日記: Emacs rectangle-mark-mode

日記 by yuuka_mania

ちょっとした Elisp プログラムで、rectangle-mark-mode を使ったのだけど、どうも、カーソルの移動が期待した通り動かなくて、断念してたのだが、rect.el の中で、関数の上書きっぽいことをしてる部分を発見!関数名をプログラマブルに指定したり、メタプログラミングの一種かもしれないが、読みにくいというか、grep で発見しづらいのは、辛いが、Lispらしいといえばらしいのか。もうちょっと勘を養うしかないか。

(defvar rectangle-mark-mode-map
  (let ((map (make-sparse-keymap)))
    (define-key map [?\C-o] 'open-rectangle)
    (define-key map [?\C-t] 'string-rectangle)
    (define-key map [remap exchange-point-and-mark]
      'rectangle-exchange-point-and-mark)
    (dolist (cmd '(right-char left-char forward-char backward-char
                   next-line previous-line))
      (define-key map (vector 'remap cmd)
        (intern (format "rectangle-%s" cmd))))
    map)
  "Keymap used while marking a rectangular region.")

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

開いた括弧は必ず閉じる -- あるプログラマー

読み込み中...