【お知らせ】


<2015/08/31 追記>
Emacs をエディタとして利用する場合にプログラミングモードが正しく機能しなかったので、テンプファイルの命名方法を変更しました。

<2015/08/31 追記>
Windows版 Emacs で sudo-ext を使うための方法の記述を追加しました。

<2015/08/30 追記>
このコマンドで問題が発生したとしても責任を負えません。スクリプトの内容を理解し、利用者の責任の下、実行してください。
とりあえず、UAC の画面で「いいえ」を選択すれば、ファイルの上書きは行われないと思います。

【本題】


Cygwin で sudoedit を使うための設定です。(作ってはみたものの、/etc/hosts の編集以外に使い道がないという話も..)

最初に「Cygwin で sudo 的コマンドを使うための設定」を行ってください。

次に、次のリポジトリにある sudoedit スクリプトをコマンドパスが通ったフォルダ(~/bin 等)に格納し、必要であれば chmod +x sudoedit することにより実行可能とする。

これで Linux の sudoedit と同様に使えると思います。ただし、引数に指定できるファイル数は1つとなっています。

また、Emacs を利用している方は、melpa から sudo-ext をダウンロードし、sudo-ext を require することで M-x sudoedit が利用可能となります。
但し、gnupack-12.01 以降の gnupack を利用している場合は、以下の設定が必要となります。
(require 'cl-lib)
(require 'sudo-ext)

(defvar sudoedit-editor "emacsclient -s ~/.emacs.d/server")

(advice-add 'sudoedit
            :around (lambda (orig-fun &rest args)
                      (cl-letf (((symbol-function 'sudoedit-editor)
                                 (lambda () sudoedit-editor)))
                        (apply orig-fun args))))
※ 編集したファイルをセーブする際は、C-x # で終了する必要があります。(emacsclient を利用しているため。)


<変更履歴>
  • 2015/08/30 このページを作成した。
  • 2015/08/30 マイナス(-)で始まるファイルの編集に対応した。
  • 2015/08/31 Windows版 Emacs で sudo-ext を使うための方法の記述を追加した。
  • 2015/08/31 Emacs をエディタとして利用する場合にプログラミングモードが正しく機能しなかったので、テンプファイルの命名方法を変更した。
  • 2015/09/10 advice を Emacs-24.4 以降の書式に見直した。


最終更新:2019年11月02日 14:30