【お知らせ】
<2015/08/31 追記>
Emacs をエディタとして利用する場合にプログラミングモードが正しく機能しなかったので、テンプファイルの命名方法を変更しました。
<2015/08/31 追記>
Windows版 Emacs で sudo-ext を使うための方法の記述を追加しました。
<2015/08/30 追記>
このコマンドで問題が発生したとしても責任を負えません。スクリプトの内容を理解し、利用者の責任の下、実行してください。
とりあえず、UAC の画面で「いいえ」を選択すれば、ファイルの上書きは行われないと思います。
【本題】
Cygwin で sudoedit を使うための設定です。(作ってはみたものの、/etc/hosts の編集以外に使い道がないという話も..)
次に、次のリポジトリにある 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