読者です 読者をやめる 読者になる 読者になる

隣接するバッファへ1ストロークで移動したい

Meadowでは、.emacs

(define-key global-map [?\C-,] 'previous-buffer)
(define-key global-map [?\C-.] 'next-buffer)


と設定すれば移動できたんだけど、coLinux 上の Fedora7 の Emacs(バージョンは22.1.1) に同じ設定を書いたらまったく機能しない…。
C-x right/left がデフォルトになってるけど、これじゃ2ストロークだし、いちいちキーを離さないといけないのでめんどくさい。


2007-07-05 - gan2 の Ruby 勉強日記で紹介されている設定も試してみたけどダメだった。
うーん、開発環境をCygwin から coLinux に移行しようとしてるんだけど細かいところで躓くなー。


どなたか解決法をご存知でしたら教えてください。

追記(2007年9月30日)

コメントで教えてもらったのだけど、C-, C-. C-; C-: 等はターミナルでキーコードが入力できないので、当然 Emacs で認識することはできないらしい。
完全に私の知識不足+勘違い。上記の elisp は問題ない。


結局、Meadow/Emacs memo: バッファリストとバッファの切り替えで紹介されている elisp を使って、バッファの切り替えを C-right, C-left に割り当てた。

(setq my-ignore-buffer-list
      '("*Help*" "*Compile-Log*" "*Mew completions*" "*Completions*"
        "*Shell Command Output*" "*Apropos*" "*Buffer List*"))

(defun my-visible-buffer (blst)
  (let ((bufn (buffer-name (car blst))))
    (if (or (= (aref bufn 0) ? ) (member bufn my-ignore-buffer-list))
        (my-visible-buffer (cdr blst)) (car blst))))

(defun my-grub-buffer ()
  (interactive)
  (switch-to-buffer (my-visible-buffer (reverse (buffer-list)))))

(defun my-bury-buffer ()
  (interactive)
  (bury-buffer)
  (switch-to-buffer (my-visible-buffer (buffer-list))))

(global-set-key [right] 'my-grub-buffer)
(global-set-key [left] 'my-bury-buffer)