Emacs

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


1
如何从主缓冲区中取消迷你缓冲区
假设我M-x blabla没有按return一下,然后切换到主缓冲区。如果光标位于迷你缓冲区,则可以通过快捷方式取消迷你缓冲区C-g。但是,如果光标位于主缓冲区,则此快捷方式不会取消迷你缓冲区。如果我按M-x该错误会Command attempted to use minibuffer while in minibuffer出现。 是否有内置的快捷方式可以完全取消自主缓冲区以来迷你缓冲区先前未完成的内容。

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。






1
unicode.txt缓慢
Xah的unicode.txt中的点(使用光标键)移动fundamental-mode明显比普通文本文件慢。问题是许多非ASCII字符吗?还要别的吗? 关于:2017年4月24日的GNU Emacs 25.2.1(x86_64-w64-mingw32)以选项开头 -Q

3
如何为本地软件包生成和激活自动加载?
显然,并非所有本地/自定义/个人软件包都应正式发布,而仅仅从内置的软件包管理支持中受益,这样做是很愚蠢的。我想知道如何为本地软件包生成和激活自动加载?这类似于package.el从ELPA安装的软件包的处理方式。为了避免重新发明轮子,是否有办法“假装”某些本地目录(每个子目录都是本地/自定义/个人软件包)是ELPA?我也愿意el-get通过定制食谱支持这种情况。 我敢肯定,这项任务非常普遍,并且在高级级别使用Emacs的任何人迟早都会提到这一点。有人可以分享他们在这一领域的经验吗?

2
在增量搜索中选择(即作为区域)当前匹配项
当使用搜寻字串时C-s,我希望能够按下某些键以退出搜寻模式,但仍保持对匹配项的选择。这样,我可以立即开始输入并替换最后一个匹配项。 例如,说我有以下文档: The quick brown fox jumps over the lazy dog. 如果我搜索“ lazy”,emacs将像这样选择该单词(方括号是选择,管道是光标): The quick brown fox jumps over the [lazy|] dog. 现在,如果我按return,emacs将保持我的光标位置,但是它将取消选择“ lazy”: The quick brown fox jumps over the lazy| dog. 取而代之的是,我想要一个快捷方式,该快捷方式将退出搜索模式,但仍保持当前的比赛选择,就像在上面的第二种状态一样。

3
Emacsclient:从启动开始一直一直只有一个emacs进程,永远不会关闭,更好地隐藏GUI
由于emacsclient可以适当地处理较长的程序包加载时间,因此我真的想保留至少一个emacs进程,并且大多数时候只保留一个emacs进程,作为后台进程打开并更好地隐藏GUI。 现在,我在.bashrc中定义了以下函数: emc () { if [[ $# -eq 0 ]]; then emacs --eval "(suspend-frame)" & return fi args=($*); setsid emacsclient -c -e "(find-file \"${args[*]}\")" } 在.bashrc中也有以下行: emc 因此,每次打开外壳程序时,我都会遇到一个新的emacs进程。 问题是打开许多外壳后,我将有许多其他不必要的emacs进程。但是,我只希望在启动后一直保持一个emacs进程更好,更好地隐藏GUI。

1
如何使击键立即显示在回显区域中?
如何使击键立即显示在回显区域中? 例如:当我输入键序列时C-u j,它不会立即显示在回显区域中,但是随后按下键k,我发现我事先在打错字。因此,我认为当我按一些键来调用echo区域的命令以立即显示它们时,对像我这样的新手会有所帮助。

2
从Emacs调用的程序中调用emacsclient
我在使用AucTex查看pdf文档文件时遇到问题。我pdf-tools曾经在Emacs中查看PDF文件,并且将其设置emacsclient -n为默认的pdf查看器(通过Debian Linux上的xdg-mime)。在大多数情况下,此方法工作正常,但会破坏(Tex-documentation-texdoc ...)Auctex(C-c ?)的功能。 我已将问题缩小为一行代码。当我尝试查看该listings软件包的文档时,TeX-documentation-texdoc将其转换为以下sexp: (shell-command-to-string "texdoc --view listings") texdoc依次调用emacsclient实际打开文件(基于我通过xdg配置桌面的方式)。但是,此时,Emacs挂起,我需要退出(C-g)以重新获得控制权。之后,将不会打开新的pdf。如果我尝试直接调用emacsclient,则会发生相同的事情: (shell-command-to-string "emacsclient -n tmp.pdf") 这两个命令都在命令行上运行(即emacsclient -n tmp.pdf和)texdoc --view listings。 我的问题是,在这种情况下,如何在Emacs中调用emacsclient?(而且我知道我可以使用find-file;仅打开pdf文件,这不是一个选项,因为我需要调用外部进程(texdoc)来查找文件,然后该进程调用emacsclient)。


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.