首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不会为.org文件自动调用emacs: org-mode

不会为.org文件自动调用emacs: org-mode
EN

Stack Overflow用户
提问于 2013-11-26 02:00:05
回答 1查看 327关注 0票数 1

直到昨天,重启.org都会自动识别.org文件,并在查看emacs缓冲区时切换到组织模式。现在我必须对每个文件调用M-x org-mode。最初,每个.org模式现在都处于“基本”模式。

我的~/.emacs文件包含:

代码语言:javascript
复制
(add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode)) ; not needed since Emacs 22.2
(add-hook 'org-mode-hook 'turn-on-font-lock) ; not needed when global-font-lock-mode is on
(global-set-key "\C-cl" 'org-store-link)
(global-set-key "\C-ca" 'org-agenda)
(global-set-key "\C-cb" 'org-iswitchb)
(put 'downcase-region 'disabled nil)

我在Gnome Ubuntu 12.04 LTS下运行emacs 23.3.1。

我不知道emacs是否刚刚在12.04中得到了更新,但我之前确实不小心运行了xemacs。

我的~/.emacs文件中与组织模式相关的其他行是,似乎换行符没有保留在堆栈溢出中,所以我将省略它们。

我想我想通了。我使用桌面保存。我认为xemacs在基本模式下(因为我没有在xemacs中设置org-mode -我真的应该卸载它)保存了所有的org文件(当我退出时)。在我的.emacs- mode文件中,org文件以“基本”模式列出。

在某些组织文件中打开组织模式后,删除了运行M-x桌面保存的.emacs- some文件。那些我打开了组织模式的.org文件在组织模式下使用emacs打开,而那些我没有访问并激活组织模式的文件在我重启emacs时仍然处于基本模式。

有没有一种方法可以在缓冲区列表中选择多个文件并一次更改它们的所有模式?

EN

回答 1

Stack Overflow用户

发布于 2013-11-30 10:53:04

要更改多个缓冲区的模式,可以在(buffer-list)上使用dolist进行迭代,可能首先使用cl-remove-if-not过滤该列表。对于每个迭代,使用带有缓冲区名称的with-current-buffer,然后调用模式函数(例如(org-mode 1)):

(100%未经测试。)

代码语言:javascript
复制
(defun org-them ()
  "Put BUFFERS in Org mode."
  (interactive)
  (dolist (buf  (cl-remove-if-not #'SOME-TEST (buffer-list)))
    (with-current-buffer buf
      (org-mode 1))))

例如,某些测试可能要求最后修改日期比某些截止日期更近。或者您可能只对文件缓冲区感兴趣-例如,其buffer-file-name\\.org\'等正则表达式匹配的缓冲区。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20200008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档