如何忽略文本中的局部变量列表?

时间:2013-08-07 09:22:08

标签: emacs emacs23

我正在编写自述文件(在org-mode中)以获取新的emacs模式,在安装说明中我们有如何基于每个文件启用模式:

or at the end of your file:

#+BEGIN_SRC emacs-lisp
  ! Local Variables:
  ! mode: f90-namelist
  ! End:
#+END_SRC

问题是,这会将README.org文件放入我们的新f90-namelist-mode而不是org-mode。使用# mode: org将另一个局部变量列表放在文件的末尾不起作用,尽管使用

# -*- enable-local-variables: query -*-

让我接受或拒绝所有局部变量,然后emacs从.org文件扩展名中确定主要模式。这样就排除了我想要包含的任何其他局部变量。

是否有更优雅的方法在文本中包含文字局部变量列表?

2 个答案:

答案 0 :(得分:2)

引用Emacs manual

  

局部变量列表的开头不应超过3000   文件末尾的字符,如果是,则必须在最后一页上   该文件分为几页。

因此,要确保忽略文本局部变量,请在真实的局部变量列表之前添加page break Cq Cl ),或者在文件末尾添加comment it Cq Cl )没有局部变量:

or at the end of your file:

#+BEGIN_SRC emacs-lisp
  ! Local Variables:
  ! mode: f90-namelist
  ! End:
#+END_SRC
^L

这适用于所有局部变量,而不仅仅是主要模式。

如果您不想按照@lunaryorn的建议导出分页符,只需导出{{3}}。

答案 1 :(得分:0)

以下是iostream标题的样子:

// Standard iostream objects -*- C++ -*-
...

这是不仅在Emacs中指定模式的标准方法, 但是在整个Linux上,对于所有选择解析它的编辑来说。 我建议你这样走。

此外,从我的观点来看,启用局部变量是 faux pas , 因为它可能导致Microsoft Word与VBA混乱:到处都是病毒。 源代码或文档不应自行执行。

相关问题