【问题标题】:Emacs: Keyboard Macros and DiredEmacs:键盘宏和 Dired
【发布时间】:2009-09-24 16:10:29
【问题描述】:

是否有一个 emacs 命令可以将 kbd 宏应用于 dired 中的每个文件?

例如query-replace-regexpdired-do-query-replace-regexp

我正在寻找dired-do-call-last-kbd-macro

【问题讨论】:

    标签: emacs dired


    【解决方案1】:

    另一种选择是这样做:

    1. 转到您的 dired 缓冲区的顶部
    2. 录制宏
    3. 回车访问文件
    4. M-x kmacro-call-ring-2nd
    5. C-x o(其他缓冲区)
    6. 下一行
    7. 停止录制
    8. C-u 0 C-x e (call-last-keyboard-macro 直到文件结束)

    【讨论】:

    • 很有趣,但您并不认为需要先加载 kmacro(我以前从未见过的库)。
    【解决方案2】:

    C-h f dired-do-query-replace-regexp 揭示了代码:

    (dolist (file (dired-get-marked-files nil nil 'dired-nondirectory-p)) (let ((buffer (get-file-buffer file))) (if (and buffer (with-current-buffer buffer 缓冲区只读)) (错误“文件 `%s' 以只读方式访问”文件))))

    我只是做一些 elisp 来做你想做的事,用它作为模板

    【讨论】:

    • 那只是显示错误信息的部分。进行替换的部分是这样的: (tags-query-replace from to delimited '(dired-get-marked-files nil nil 'dired-nondirectory-p)) 但是您发布的代码可能更好地将代码基于无论如何。
    猜你喜欢
    • 2015-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-19
    • 1970-01-01
    • 2010-11-13
    • 1970-01-01
    相关资源
    最近更新 更多