Thanks Driven Life

日々是感謝

vc-mode を起動しないようにする

http://d.hatena.ne.jp/gongoZ/20111114/1321268210 からのコピペです。見比べてみたかった

経緯


リモートサーバ(ssh可能)のファイルを Emacs から編集する際

  • emacs の tramp で開く
  • サーバを sshfs でマウントしてから、ローカルにあるっぽく開く

のどちらかでやると思います(他にもあるかな)。

現在私は sshfs の方を使っているのですが、最近なんかファイルの保存が遅くなってきました。
C-x C-s で2,3秒止まる。これはプログラマーにとっては致命的。
特に Emacser は、いつ落ちるかわからない Emacs と闘う為に
日頃から C-x C-s は呼吸の如く行っていることと存じます。私もそうです。なのでどうにかしたい。

いろいろ調べてみた


最初は sshfs のオプションでどうにかなるかな?と思ったんですがどうやら違う。
というか、特定のディレクトリ以下でのみ、ファイルのOpen/Save が遅いことがわかってきました。

原因から先に書くと、Emacsvc-mode の所為です。
上記で述べた「特定のディレクトリ」というのが、Subversion Working Directory で、
そのディレクトリ以下のファイルを開くと、vc-svn が起動するという仕組みでした。
ついでに言うと、そのディレクトリの中は Git でも管理しています。
二重にある場合の vc-mode の挙動はわかりませんが、とりあえずこいつらの所為で重かったっぽい。

対応策


というわけで vc-mode とバイバイします

;;----------------------------------------
;; vc-mode は使わない
;;  http://stackoverflow.com/questions/5748814/how-does-one-disable-vc-git-in-emacs
;;----------------------------------------
(setq vc-handled-backends ())

平和が訪ずれました。

まとめ

  • sshfs とかまるで関係なかったんや
    • ローカルに比べればそりゃあ重いかもしれませんが、まあ誤差誤差
  • vc-mode や DVC を使ってる人はこういう対応はしないと思うのですが、私はここらへんを触れていないためこうしました。