[Emacs] Emacs で設定ファイルを編集する
- ひげぽん OSとか作っちゃうかMona- - httpd.confの編集を vi でやっているとストレスがたまる、Emacs好きな人は jed を使いましょう
- odzの日記 - ng
- 仙石浩明CTO の日記: su & emacsclient
まぁ、仙石浩明CTO の日記: su & emacsclientのコメント欄にあるように、X で Emacs 立ち上げっぱなしな人は export EDITOR=emacsclient しておいて sudoedit (もしくは sudo -e) でいいとかいう話だったりするわけですが。
で
編集対象がテンポラリファイルのパス名になるのが不便...
なんて話がコメントで出てきているわけですが、じゃあ gnuserv + tramp なんてどうだろう。要するに emacs で M-x gnuserv-start しておいて、 gnuclient /sudo::/etc/passwd (もしくは /su::/etc/passwd) とかそんなかんじでいいじゃないのかなぁと。そのまま使おうと思うと、root からは直接 gnuclient が使えないし毎回絶対パスを入力するのは面倒なので
#!/usr/bin/env ruby require 'pathname' username = 'foo' file = Pathname.new ARGV.shift exec "sudo -u #{username} gnuclient /sudo::#{file.realpath}"
みたいなスクリプトでも書いとけば便利かな。sudo を使わない人は最後の行を
exec "su #{username} -c gnuclient /su::#{file.realpath}"
としておけばいい。
ちなみに
ssh で root にログインするのが気持ち悪いのですよねぇ > tramp
というのは誤解で、tramp は /su: や /sudo: なパスを扱う場合は内部で su や sudo を使うだけで、なんでもかんでも ssh を使うわけではないです。