このごろeshellを使ってるんですが、root権限でファイルを開く時にめんどくさいんですよね。
zshを使ってた時はsudoeditを使ってたんですが、eshellから開くならtramp使って開きたい気分だったので、適当に関数書きました。
(defun eshell/sudoedit (file)
(if (string-equal "/" (substring file 0 1))
(find-file (concat "/sudo:root@localhost:" file))
(find-file (concat "/sudo:root@localhost:" default-directory file))))
不具合あるかもしれませんので自己責任でご利用ください。