View-modeを抜けたら行のハイライトをオフにしたい

るびきちさんサイトCtrl+中指か薬指を使うキー操作が多いEmacsで指の負担を軽くする方法 - (rubikitch loves (Emacs Ruby CUI Books))
を参考にkey-chord.elを使ってview-modeの切り替えを行えるようにしてみました.これは便利!

ただ,自分の環境では設定をそのまま使うと,View-modeから抜けた時にハイライトがオフにならず,軽く調べてみたものの,情報にたどり着けなかったので,自分で解決してみることにしました.

ソースコードをみてみるとview-mode-hook0の中で

(hl-line-mode 1)

をしているけど,

(hl-line-mode -1)

などで,disableにしていないのが原因と推測.

そこで,以下の1行

(hl-line-mode 1)

(cond
 (view-mode
  (hl-line-mode 1))
 (t
  (hl-line-mode -1))
 )

としてみたところ,望んだ通りの動作になりました.

他の解決策

その後,少し調べてみたところ情報が見つかりました.
view-modeにhl-line-modeを付ける - znzの日記
こちらはdefadviceを使って解決しているようです.

今までは拾ってきたelispを(意味を全く理解せず)コピペしていましたが,見よう見まねでelipsを書いてみました.
vimの方がemacsより操作性が上なんじゃないかとか,sublime textの方が簡単に拡張できるんじゃないかなど考えていましたが,せっかくある程度使えるようになったEmacs,もう少しいじってみようかなぁと思います.