Questions tagged «major-mode»

该模式确定当前缓冲区是否为Emacs的编辑行为。模式行通常在括号中显示当前主模式的名称。

2
记住无扩展名的文件模式
我已经开始编辑许多没有扩展名的文件,但仍处于主要模式格式。 我是团队中唯一的Emacs用户,我不想让我的编辑器需要特殊的东西很痛苦。我想避免更改代码库。 我无法更改文件名 我不能使用特殊的Emacs注释 我希望Emacs记住我手动将文件放在最后(使用M-x conf-mode)的任何模式,并在我再次访问它时自动激活该模式。 我savehist-mode用来处理持久性。 我可以轻松地做到这一点吗?
10 major-mode 

2
为什么主要模式不只是检查面部?
编写主模式时,知道“字符串中是否指向点?”通常很有用。“在评论中有意思吗?”。 大多数主要模式似乎都试图解析编程语言。例如: python-syntax-content 来电 syntax-ppss haskell-fill-paragraph呼叫syntax-ppss和re-search-forward c-in-comment-line-prefix-p 移动点并呼叫 looking-at sp-point-in-comment通话,syntax-ppss但还会检查是否在评论分隔符上 但是,这在某些情况下不起作用。在组织模式缓冲区中,这些方法无法正确检测源块中的注释。 这似乎也毫无意义,因为缓冲区已经显示了高亮的注释。 取而代之,您可以简单地检查以下点的人脸: (defun wh--get-faces (pos) "Get all the font faces at POS." (remq nil (list (get-char-property pos 'read-face-name) (get-char-property pos 'face) (plist-get (text-properties-at pos) 'face)))) (defun wh-string-p (pos) "Return non-nil if POS is inside a string." (memq 'font-lock-string-face (wh--get-faces …


3
如何以“无”模式(`fundamental-mode`)启动emacs
如果输入,emacs test.shEmacs坚持让我进入Shell-script模式。下次我想编辑文件help.txt,然后Emacs进入Text模式。但是有时我什么都不想要,尤其是当我从其他来源向Emacs进行大粘贴时。 如何以“无”模式启动Emacs?无需特殊的缩进,间距等,Emacs只需在输入字符时就将它们引入。 更新:这是一个示例。将以下文本复制到剪贴板,打开emacs(甚至在基本模式下)并粘贴。 <?xml version="1.0" encoding="UTF-8" standalone="no"?> <EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:shibmd="urn:mace:shibboleth:metadata:1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ID="FARM20190311T2248" Name="https://www.example.com/" entityID="https://www.example.com/" validUntil="2020-03-11T22:48:12Z"><ds:Signature> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> Emacs 坚持更改间距(即使在基本模式下也使用-q): <?xml version="1.0" encoding="UTF-8" standalone="no"?> <EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:shibmd="urn:mace:shibboleth:metadata:1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ID="FARM20190311T2248" Name="https://www.example.com/" entityID="https://www.example.com/" validUntil="2020-03-11T22:48:12Z"><ds:Signature> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> 使用vi或尝试相同的实验nano。这些程序(至少在我的计算机上)不会更改间距。 我在Debian上使用GNU Emacs 24.5.1。


2
如何编写不打开文件但提供文件视图的主模式
我想编写一个主要模式来检查netCDF文件。这些是二进制文件,大小可以为多个GB。所以我不想在emacs中打开它们。 我想到的交互如下: 用户可以像emacs中的任何其他文件一样打开netCDF文件。 ncdump -h在文件上执行命令行程序(),输出由emacs解释。 问题是似乎没有办法阻止emacs实际打开文件。

2
如何编写一个简单的“完成点函数”功能?
我正在考虑编写一种用于编辑Magic的主要模式:Gathering卡座。 大部分看起来很简单,但是我有一个问题。大约有15,000张独特的魔术卡(即具有唯一名称的卡)。我希望能够通过编写点完成函数来完成对它们的操作。我一直在寻找一个简单的capf函数的基本示例,该函数仅针对一组单词即可完成,以作为我的模式的基础,但到目前为止却找不到任何东西。您知道有什么很好的例子可以开始吗?并且您认为获得良好的性能还是容易的,还是我必须编写自己的数据结构(也许我想像的是Trie)。 显然,我需要找到一种与新卡等进行同步的方法,将来也许甚至可以通过除卡名之外的其他特征来搜索卡,但可以等待。

1
为什么“编译”缓冲区显示控制字符?
我正在使用*compilation*缓冲区在Centos 5和Centos 6上构建C ++应用程序。缓冲区显示了构建并包括了对作为构建一部分的文件的引用。但是,我得到的控制字符像^[出现在输出中一样,当您在输出中单击一个时,很难读取并且emacs的文件名已损坏。我认为这些字符是编译器输出上的某种颜色或其他注释,但我不知道它们来自何处。这是示例输出: cc -c -g -I../machind -I. -DRELEASE_VERSION -g -O2 -m64 -D__BITS64 -pipe -DARCH_64 -DARCH_INTEL -DARCH_X86 -DARCH_X86_64 -DOS_LINUX -pthread -DLM_INTERNAL -DFLEXLM_KITBUILD -DFLEX_STATIC -DRELEASE_VERSION -DGPLATFORM=\\"x64_lsb\\" -DLINUX -DLSB3_0 -D__FD_SETSIZE=65535 -DGLIBC -DLINUX64 -DAMD64 -DREDHAT -DREL -DRHLINUX64 -DPLATFORM_AMD64_RHLINUX -DNO_ACTIVATION_SUPPORT ../machind/lmcrypt.c ^[[01m^[[K../machind/lmcrypt.c:^[[m^[[K In function ^[[01m^[[Kmain^[[m^[[K : ^[[01m^[[K../machind/lmcrypt.c:156:47:^[[m^[[K ^[[01;35m^[[Kwarning: ^[[m^[[Kcast to pointer from integer …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.