>>741
> diredでやるなら、現在のバッファのファイルが存在するディレクトリでdiredを起動するのを
> キーバインドしないと面倒。

は?
開いているfoo.cバッファで「C-x d」すれば、現在のバッファの
ファイルが存在するディレクトリでdiredを起動するでしょう。

そこで「R」をおして、foo.cをbar.cにリネームするだけ。
リネームしたらバッファ名も変更するかどうかも聞いてくる。

何も、elispを書く必要もないし、shellを使う必要もない。
(つうかshellを使う癖をなおそう。あとshellは、shell-modeですよね?)

複数ファイルを一括リネームしたけれ下記のを使えばいいだけ。
ttp://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=wdired