有没有办法在多个缓冲区上执行emacs命令,而无需单独选择它们并在每个缓冲区上执行它.
我通常打开与特定正则表达式匹配的多个文件,例如~/*.py并且希望启用特定模式,比如说hs-minor-mode或glasses-mode在每个模式上执行,或者说C-c @ C-M-h在每个文件上执行.目前我必须选择其中的每一个并单独进行.那么是否存在自动执行任务的黑客或循环.
假设我从缓冲区列表中标记缓冲区,然后对所有标记的命令运行命令.
我尝试了这个,但在执行完命令之后,eval-expression我完全失去了对我的迷你缓冲区的访问权限,这意味着每当我键入M-x迷你缓冲区时返回此
无法访问迷你缓冲区emacs错误"进程菜单模式不支持隐藏显示次要模式"
我被迫实际杀死了整个emacs进程,因为它C-x C-s不起作用也不是End Task.
PS:我没有elisp的经验
pmr*_*pmr 10
您可以使用ibuffer模式(它是默认Emacs发行版的一部分).
(global-set-key "\C-x\C-b" 'ibuffer) ;; make ibuffer the default
Run Code Online (Sandbox Code Playgroud)
在*Ibuffer*你可以标记与所需的缓冲区m,然后在每执行一个形式E.
通常,ibuffer比通常的缓冲区列表更灵活,我认为ibuffer应该是Emacs中的默认缓冲区列表.
如果经常这样做,您可能希望在每次进入python模式时通过将它们附加到模式挂钩来切换这些特定模式:
(add-hook 'python-mode-hook 'hs-minor-mode)
(add-hook 'python-mode-hook 'glasses-mode)
Run Code Online (Sandbox Code Playgroud)