TRAMP経由かどうか判定する

  • 4
    いいね
  • 3
    コメント
この記事は最終更新日から1年以上が経過しています。

使ってるパッケージにバグがあって、TRAMP経由で開いてるファイルでは動かなくしたいってことがある。

そんなときは、こんな補助函数を定義する。

init.el
(defun my/buffer-in-tramp ()
  "Return non-nil if buffer file is in TRAMP."
  (and buffer-file-name
       (s-match
        (concat "\\`/" (regexp-opt (mapcar 'car tramp-methods)) ":")
        buffer-file-name)))

で、こうする。

init.el
(defun my/php-mode-hook ()
  (when (require 'php-eldoc nil t)
    (php-eldoc-enable))
  (subword-mode t)
  (setq show-trailing-whitespace t)
  (c-set-style "psr2")

  (unless (my/buffer-in-tramp)
    ;; TRAMPでは実行したくない処理をここに書く
    ...))

めでたしめでたし。

(http://qiita.com/tadsan に書いた通り、記事中の短いソースコードの著作権は主張しません)