0

私はで対処されたものと同様の問題を抱えています

Emacs: 大文字と小文字を変更するための正規表現の置換

08 - hey you.mp3Emacs のファイル ブラウザ モード Dired を使用して、ファイルの名前を からに変更したいと考えています08 - Hey you.mp3

% Rで置き換えると入力^\([0-9]* - \)\([a-z]\)\(.*\)$する\1\,(upcase \2)\3と、エラーが発生します

Invalid use of `\' in replacement text

通常のテキストバッファで同様の正規表現をクエリ置換正規表現すると\([0-9]* - \)\([a-z]\)\(.*\)\1\,(upcase 2)\3問題はありません。入力の唯一の違いは、 http://www.gnu.org/software/emacs/manual/html_node/emacs/Transforming-File-Names.html#Transforming-File-Namesで説明されているように必要な、囲ん^でいる と です。エラーの原因は、たとえば正規表現の置換として使用するときにこのエラーが発生しないため、Diredでは使用できないようです。$\,(upcase )\1\3\2

Emacs 23.2.1 を使用しています

4

1 に答える 1

2

% Rから呼び出す dired 呼び出しdired-do-rename-regexpでは、replace-match は elisp 置換をサポートしません。replace-matchdired-string-replace-match

できることはwdired、ディレクトリのリストをプレーンテキストとして編集できることを利用することです。

C-xC-q(通常のtoggle-read-onlyバインディング) は dired と wdired を切り替えます。wdired に入ると、elisp 置換パターンを含む通常の検索と置換を使用できます。

于 2012-05-21T22:30:54.277 に答える