emacsメモその4・wdiredべんりだよ編

全国数名の旦那観察日記ファンの期待を裏切ってemacsメモですよ!
だいじょうぶ!emacsメモのファンだってひとりくらいは居るかもしれないから…!と自分に言い聞かせつつ、もはや誰に向けて書いてるのかわからない自分用メモ兼布教日記なんだぜ。

さて、本日は「emacsってエディタとしてだけじゃなくて普通にツールとしても有用なんだぜ…!」みたいなお話。

 ***

たくさんのファイルをリネームしなきゃいけない!という場面で、
ひとつひとつちまちま変更するのが面倒になって、思わずファイル名変換スクリプトを書いて正規表現間違えてウキーなんてのは誰もが経験したことがあるかと思いますが(ねぇよ
ディレクトリ内のファイル名一覧をテキストエディタか何かで表示してそのまま編集して保存できたらなー…
なんて思ったことのある人もいるのではないでしょうか。

できるんですよこれが…!

diredってのはemacs標準のディレクトリ&ファイル操作ツールですね。Windowsでいうところのエクスプローラみたいなもんでしょうか。
これだけでも結構多機能で使いこなせたらいろいろ便利だったりするんですが、解説しだすと長いのでここでは省略。興味ある人はググればいくらでも出てきます(何

で、wdired。
diredでファイル一覧を表示してるバッファをそのまま編集して保存、で、終わり。
変更がファイル名に反映されます。
もちろんemacsの編集機能をバリバリ使えるので置換コマンドとかやりたい放題。拡張子一括変更とか2秒。
べんり…!べんりすぎてむしろこわい…!

 ***

ちなみにwdiredを使わない方法としては、
diredバッファで m もしくは %m でリネームしたいファイルにマークをつけ(「%m」だと正規表現にマッチしたファイルにマーク)、
%r (dired-do-rename-regexp) で正規表現置換、とかがあります。
wdired知るまではたまに使ってたけどもう戻れない…。

 ***

ちなみにdiredで日本語のファイル名が化ける場合、

 (require 'ls-lisp)

とか

 (setq default-file-name-coding-system 'なんか文字コード)

とかでうまくいくかもしれない。
私の場合(Meadow3@WinXP)

 (setq default-file-name-coding-system 'shift_jis)

でうまくいきました。
まあ正直なところemacsで日本語ファイル名なんてあまり扱いたくないですけどね…


  • 素敵な情報をありがとう!旦那観察日記となにかよくわからないものブログも応援しています! – Riso (2009年01月24日 18時03分49秒)
  • 応援ありがとう!びぃ先生の次回作(主にemacsメモ)にご期待ください。 – B@管理人 (2009年01月24日 23時58分40秒)