Emacs

使用,扩展或开发Emacs的人员的问答

3
包管理器编码错误
运行时package-list-packages,出现以下错误。 These default coding systems were tried to encode text in the buffer ` *temp*': (iso-latin-1-dos (3242 . 37326) (3243 . 40165)) However, each of them encountered characters it couldn't encode: iso-latin-1-dos cannot encode these: 野 鳥 如何将默认的包管理器编码设置为utf-8?

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 …

4
如何确定当前字符是否为字母
如何确定当前字符是否是字母(字母字符)(即属于[:alpha:]regexp概念中的语法类)。我想编写一个简单的函数,如下所示: (defun test-letter () (interactive) (if char-after-is-a-letter (message "This is a letter") (message "This is not a letter") ) ) 更新 不幸的是,我对字母类和语法类等效的假设[:alpha:]似乎是错误的。

2
带缓存的弹丸不喜欢新文件
我将弹丸用于项目浏览。我已经看到它真的很慢,所以我打开了缓存。现在快了(可悲的是,速度并不快)。 如果我在emacs本身之外创建一个新文件,则Projectile找不到它。我可以运行缓存失效,但这需要几分钟。如何解决这个问题?

2
org模式下导出的html文件中语法突出显示和源代码块的缩进
当我在组织模式文件中插入C代码块时,将根据需要自定义语法高亮和源代码的缩进。 当我将其导出到html文件时,html文件中的语法高亮与Emacs中的语法完全相同。但是语法突出显示与我的Emacs的颜色主题配合使用效果更好。例如,{在我的C代码块中,符号为白色,但我的颜色主题为深色,如果我将其导出为html,则html文件的背景也为白色,这意味着您无法{在源代码块中看到导出的html甚至认为它在那里。 在我的Emacs中,源代码的缩进是正常的(按我的自定义方式),但是导出的html文件中源代码的缩进将有所不同,它为缩进添加了更多空间。 如果我在中导出相同的组织文件emacs -q,则它们在导出的html文件中是正常的,但是语法高亮和源代码的缩进将是defaultEmacs 的配置。因此,这意味着中的字体配置init.el会影响org-export。 所以我的问题是:当我将包含源代码块的组织模式文件导出到html文件(或其他格式,例如PDF)时,是否有可能摆脱我自己关于字体的所有配置源代码,是否像在emacs -q? 更新: 通过(setq org-src-preserve-indentation t)在init文件中进行设置或通过M-:(eval-expression)运行它可以解决第二个问题。 Update2: 第一个问题是通过根据theme设置组织导出的<code>块的背景来解决的。 如果解决了第一个和第二个问题,第三个问题并不重要。

2
递归地找到Makefile并进行编译
问题M-x compile在于,如果Makefile不在当前目录中,它将失败。 我想要一个递归地查找Makefile并make从该目录运行的函数。 我已经看到了这个问题,但这是特定于路径的,这是我必须考虑运行的问题。


3
设置区域以包含括号
从点或活动区域开始,如何快速(在一个按键/命令中)“扩展”以包括下一组封闭括号? 如果我以:(|指点)开头 (defn foo [x] (+ x |42)) 或者,如果我从以下内容开始:(<并将>所选区域括起来) (defn foo [x] (+ x <42>|)) 我想结束 (defn foo [x] <(+ x 42)>|)


2
如何将缓冲区的副本保存到文件?
我希望能够将缓冲区的副本(或快照)保存到文件中。该行为与相似write-file,不同之处在于它不会设置缓冲区来访问此文件。 对于一个用例,假设您有一个Shell会话,并且想要将其全部快速保存到日志文件中。不应重命名缓冲区(以便依赖缓冲区名称的功能仍然可以使用),并且不应访问文件(以免意外覆盖文件,并且退出emacs时不会发出警告)。 我可以想象有几种肮脏的方法,我将发布一个作为自我回答,但是从手册中读取,整个“访问文件”系统比看起来要复杂得多,我想起草一个错误的解决方案。有没有隐藏的内置方法来实现这一目标?
9 buffers  saving 

3
将进程输出发送到* Messages *缓冲区,但绕过回显区域
是否可以将输出从过程过滤器发送到*Messages*缓冲区并抑制该消息输出出现在回显区域中,从而使我能够同时使用交互式命令,而不会minibuffer-prompt被正在进行的subpress过滤器输出所抹除? (defun rsync-process-filter (proc string) (when (not (or (string-match "files...\r" string) (string-match "files to consider\n" string))) (message "%s" string))) 编辑(2015年1月3日):以下是类似问题的链接,但是,我尚未能够使它与确切的字符串未知的进程字符串一起使用-线程的标题为:Emacs -禁用一些Minibuffer消息: /superuser/669701/emacs-disable-some-minibuffer-messages


2
如何填写(包装)组织模式标题?
我想在组织模式下填写(包装)一个长标题。我在组织手册中看不到如何做的事情。 如果我通过插入换行符手动换行,则org模式不会将换行的文本识别为标题。 这可能吗? 注意:org-fill-paragraph不这样做: (defun org-fill-paragraph (&optional justify) "Fill element at point, when applicable. This function only applies to comment blocks, comments, example blocks and paragraphs. Also, as a special case, re-align table when point is at one. If JUSTIFY is non-nil (interactively, with prefix argument), justify as well. If …

1
如何获得特定于人类语言的数字?
TL; DR:用阿拉伯语书写时如何使用印地语数字(١٢٣ ...)? Emacs可以说是最好的编辑器,但是当涉及到在写作环境中使用数字时,与Microsoft Word提供的解决方案(即上下文数字书写)相比,对于多语言用户来说,没有令人满意的解决方案。 在Microsoft Word 2010中,转到下拉菜单->更多命令->高级->在显示文档内容下,您可以选择context数字(阿拉伯语,印地语,上下文或系统)。上下文选项允许你根据你的写作,如果它是英文数字将上下文写数字阿拉伯语 1,2,3,4,5,6,7,8,9,0 -听起来很奇怪!但是它是如此命名的(也许是一个错误的称呼),如果您使用阿拉伯语书写,那么数字将是印地语数字,其书写方式如下: 对于Windows,我发现input-method如果要用Emacs编写多语种文档,说英语和阿拉伯语或任何其他完全不同的字母的语言,则更改写时方法是可行的。在Windows IMHO中从语言栏中更改语言或键盘布局不会产生相同的效果,因为这将破坏Emacs编辑器的所有键绑定(尤其是在使用两种不同的语言,例如英语和阿拉伯语的情况下)。解决方案在这里发布。 在Microsoft Word中,将数字设置为上下文后,您可以用阿拉伯数字无缝地书写英语,而当您通过循环(ALT+ R SHFT)切换为阿拉伯语书写时,您将立即用印地语数字书写阿拉伯语文本,如下图所示。在Emacs中,将input-method阿拉伯语转换为阿拉伯语后,数字仍将是阿拉伯语(1、2、3等),而不是所需的印地语数字。 我不认为解决此问题的方法与Microsoft Windows有关,因为更改区域设置的语言也将更改Windows界面的数字,并且不会在整个系统范围内产生不良影响。 我相信Emacs的扩展潜力是解决此问题的关键。更具体; 我建议Emacs应该检测到input-method,如果使用阿拉伯语,则应自动将所有阿拉伯数字重新映射为印地语数字。 或者 以某种方式自定义阿拉伯语键盘布局以使用北印度语而不是阿拉伯数字。 列出的打击是与此问题相关的一些帖子,但是我无法将这些信息转换成适合于此帖子特定内容的实际解决方案: https://tex.stackexchange.com/q/191040/26295 下面是扩展Emacs中输入方法的一种方法。 https://emacs.stackexchange.com/a/3404/2443 如果您想一次输入一个印地语数字,C-x 8 RET这些输入法在Unicode中映射为以下代码,则在Emacs中键入印地语数字可能是一项繁琐的任务:0661代表数字1,0662代表数字2,0663代表数字3,0664代表数字4,0665代表5,依此类推。 问题 为了复制Microsoft Word提供的无缝上下文书写体验,对Emacs 24的最佳自定义和最短的击键是什么?

2
如何将八进制序列更改为utf-8文本
当我从Windows复制非ascii文本并将其粘贴到Emacs时,它显示为八进制序列。例如,如果我将ä粘贴到Emacs中,它将显示为\ 344。 我可以键入Cq 344将ä返回Emacs。这很烦人,但只有一个字符是可以忍受的。但是,如果有许多字符转换为八进制转义序列,则在区域上运行某些命令以转换内部的所有内容将很方便。已经有这样的命令了吗?如果没有,您将如何编写函数来实现? [我在.emacs文件中将默认编码系统设置为utf-8,并且在Windows和Linux上使用相同的.emacs文件。但是,仅当从Windows应用程序复制到Emacs时才会发生问题。从Emacs复制到另一个Windows应用程序效果很好。]

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.