by shigemk2

当面は技術的なことしか書かない

Emacs root権限でファイルを開き直すやつを読む

これ読んでました。Emacsでroot権限でファイルを開くの面倒なんです。

qiita.com

コードはこんな感じ。

(defun reopen-with-sudo ()
  "Reopen current buffer-file with sudo using tramp."
  (interactive)
  (let ((file-name (buffer-file-name)))
    (if file-name
        (find-alternate-file (concat "/sudo::" file-name))
      (error "Cannot get a file name"))))

(global-set-key "\C-x\C-v" 'reopen-with-sudo)
  • buffer-file-name 現在開いているファイルの絶対パスを取得
  • find-alternate-file ファイルを入り直す
  • concat 文字列連結

これらを駆使して、ファイルをroot権限で開きなおしています。