🦬

Emacs で Wdired から抜けると Dired が操作できなくなる問題への対処法

2022/09/26に公開

Emacs + SKK ユーザーは全員有効にしておいて損はない設定。

問題提起

Dired から Wdired で編集モードに入り SKK を有効にし、うっかりそのまま Wdired を抜けてしまうと Dired で何も操作ができなくなる。SKK が有効になったままなのが原因である。

再び Wdired で編集モードに入り SKK を無効にしようにも Dired で何も操作ができないので Wdired で編集モードに入ることができない。

解決策

この問題は Wdired を抜ける直前に SKK を自動的に切っておけばいいので次のようにしておくと解決する。

;; (progn (ad-disable-advice 'wdired-change-to-dired-mode 'before 'wdired-change-to-dired-mode-ad))
(defadvice wdired-change-to-dired-mode (before wdired-change-to-dired-mode-ad)
  (skk-mode 0))
(ad-activate 'wdired-change-to-dired-mode)

Discussion