2013-04-08 1 views

ответ

45

Это можно легко сделать с помощью dired:

  1. Введите Dired вид каталога

  2. Переключить на записываемый Dired режим (wdired-change-to-wdired-mode): CxCq

  3. Редактируйте список имен файлов, как если бы это был обычный буфер (например, с помощью keybo ard macro или прямоугольный выбор или запрос-замените). Вот регулярное_выражение решение на основе:

    % СМ\(VAR.\)_\(..\)RET\2_\1RET

  4. редактирование Отделка (wdired-finish-edit): СхCs или СсСс

Все готово!

+1

Вы также можете сделать это без WDired, просто отметьте нужные файлы с помощью 'm' (или' * s', чтобы пометить все файлы в буфере) и запустите '% R', чтобы переименовать с помощью регулярного выражения. – jafrog

+0

Wdired метод немного проще работать с b/c, если у вас есть что-то вроде 'run-foo.sh',' foo.conf' и 'init-foo-script', и вы хотели заменить foo на bar, это проще просто выполнить замену в буфере, чем придумывать регулярное выражение, которое соответствует правильному значению и правильно заменяет его. Тем не менее, в описанном сценарии% R действительно похоже, что все будет хорошо. – elarson

+0

Нет ли каких-либо emacs не может сделать? –

2

Вы также можете использовать несколько курсоров Magnar Sveen, github link.

Переключитесь на перезаписываемый, выберите файлы, которые хотите переименовать, M-x mc/edit-lines. Это должно создать несколько курсоров, каждый со своей собственной историей убийств.