Emacs 数字+Altで分割画面をジャンプできるwindow-number.el

分割されたウィンドウに左上から順に自動で番号を割当て、Alt+数字キーで瞬時に移動できるようになるelispです。

window-number.el 導入から使い方

EmacsWikiからダウンロードしてパスが通った場所に置きます。

設定はこちら


(require 'window-number)
(window-number-meta-mode)

これで再起動/再読み込みで反映されます。

Advanced

Diredから任意の番号のウィンドウで開く方法です。移動はしないので、一気に展開するときなどに便利です。


(defun dired-display-file-n (win_num)
  "In Dired, display this file or directory in another specified window-number. powerd by window-number.el"
  (interactive "p")
  (save-selected-window
    (let ((file (dired-get-file-for-visit)))
      (window-number-select win_num)
      (find-file file)
      )))


(add-hook 'dired-mode-hook
          (lambda ()
            (define-key dired-mode-map (kbd "C-1")
              (lambda () (interactive)
                (dired-display-file-n 1)))
            (define-key dired-mode-map (kbd "C-2")
              (lambda () (interactive)
                (dired-display-file-n 2)))
            (define-key dired-mode-map (kbd "C-3")
              (lambda () (interactive)
                (dired-display-file-n 3)))
            (define-key dired-mode-map (kbd "C-4")
              (lambda () (interactive)
                (dired-display-file-n 4)))
            (define-key dired-mode-map (kbd "C-5")
              (lambda () (interactive)
                (dired-display-file-n 5)))
            (define-key dired-mode-map (kbd "C-6")
              (lambda () (interactive)
                (dired-display-file-n 6)))
            (define-key dired-mode-map (kbd "C-7")
              (lambda () (interactive)
                (dired-display-file-n 7)))
            (define-key dired-mode-map (kbd "C-8")
              (lambda () (interactive)
                (dired-display-file-n 8)))))

C-数字はあまり使わないので、これにショートカットを設定しました。

個人的にはかなり効率アップです。MyrkraVerkさんありがとう。