2009-09-24 1 views
4

Есть ли команда emacs, которая применила бы макрос kbd к каждому файлу, который был усыновлен?Emacs: Макросы клавиатуры и Dired

например. query-replace-regexp имеет dired-do-query-replace-regexp

Я ищу для dired-do-call-last-kbd-macro

ответ

1

Ch е Dired-ду-запрос замены-регулярное выражение показывает код для этого:

 
(dolist (file (dired-get-marked-files nil nil 'dired-nondirectory-p)) 
    (let ((buffer (get-file-buffer file))) 
     (if (and buffer (with-current-buffer buffer 
      buffer-read-only)) 
     (error "File `%s' is visited read-only" file)))) 

Я бы просто сделал некоторый elisp, который делает то, что вы хотите использовать в качестве шаблона

+0

Это только та часть, которая отображает сообщение об ошибке. Та часть, которая делает замену заключается в следующем: (теги-запрос замены от разделителями \t \t «(Dired-получить отчетливые-файлы ноль ноль» Dired-nondirectory-р)) Но код Размещенное вероятно, лучше использовать код в любом случае. – dkagedal

+0

кричит, это правильно! лол. – aaron

3

Другой вариант сделать это:

  1. перейти к верхней части буфера Dired
  2. Запись макроса
  3. Нажмите Enter, чтобы обратиться к файлу
  4. Mx kmacro-колл-кольцо второго
  5. Cx о (другой буфер)
  6. вниз линии
  7. Остановить запись
  8. C-u 0 C-x e (вызов-последняя-клавиатура-макрос до конца файла)
+0

Интересно, но вы не скажете, что вам нужно сначала загрузить kmacro (библиотека, которую я никогда раньше не видел). – dkagedal

 Смежные вопросы

  • Нет связанных вопросов^_^