Emacs

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


3
在makefile模式下自定义缩进?
在我的makefile中,我更喜欢以下缩进作为续行: FILES:= \ file1.cpp \ file2.cpp \ fileYetAnother.cpp LIBS:= \ libsth1.so \ libelsewhere.so 仍然,makefile模式以以下方式缩进(当要求重新缩进文件或区域时): FILES:= \ file1.cpp \ file2.cpp \ fileYetAnother.cpp LIBS:= \ libsth1.so \ libelsewhere.so 是否可以通过某种方式配置它以使用以前的变体(=将连续行缩进4个空格或制表符)?

2
Helm:在缓冲区内搜索吗?
一个基本的头盔问题。Helm的窗口/命令/功能是什么,可让我们regexp在任何类型的缓冲区(即,包括诸如之类的只读)中搜索文本(最好使用w3m)? 换句话说,我正在寻找Helm等效于isearch-forward(C-s)/ isearch-backward(C-r)的Emacs原生命令。 举例说明:调用其中一个本机isearch命令(C-s或C-r)之后,我们可以通过以下两种方式之一退出搜索模式: 我们可以退出并返回原始点(通过C-g),或者 我们可以从当前点退出缓冲区,并继续浏览缓冲区,即从当前匹配的文本中(通过RET其他方法)。 我正在寻找这两个选项中的第二个。 到目前为止,这是我尝试过的方法: helm-regexp:这是最接近我要查找的内容,但它只执行C-s/ C-r+ 的等效功能C-g(即,它使我们回到了原来的位置;没有选项可终止搜索并继续从当前匹配的内容中浏览缓冲区点)。 helm-do-grep:似乎这仅用于在文件中搜索文本(即,在w3m上不起作用) helm-buffer-run-grep/ -zgrep:运行此命令/功能会在迷你缓冲区中导致错误消息:Running helm command outside of context 当helm-mode启用时,调用C-s或C-r带来了Emacs的原生isearch功能(它不是由头盔的接口代替)。(也许有一个可以更改的设置,以便Helm可以接管此命令?即,类似于Helm接管write-file(C-x C-w)的本机命令的方法,该命令可用于重命名打开缓冲区中的文件。只是集思广益。)
11 helm  search 

2
find-file-noselect`有什么问题?
在最近的答案被lunaryorn,他说: 但是,出于评论中已经提到的原因,我建议不要使用Org的其他大部分内容:它很旧,并且充满了遗留和有害的做法(例如,find-file-noselect以非交互方式读取文件)。 谁能解释为什么find-file-noselect在Elisp程序中读取文件不是一个好主意吗?有没有更好的办法?我问是因为我正在考虑在我的一个项目中使用它。
11 files 

4
输入希腊语重音(')时出现问题“ <dead-acute>未定义”
我开始使用Emacs,并用希腊文写了一段文字。问题在于,对某些字母(ό,ύ,ύ,ί,ύ)使用的重音不起作用! 通常是通过按;(我的意思是按L旁边的键)然后插入要插入的字母来插入。这是希腊键盘的标准配置。当我按;它说: &lt;dead-acute&gt; is undefined. C-h c ; 说同样的话。 我该怎么做才能使用此密钥? 它可以在其他应用程序(例如浏览器)中使用。我使用Ubuntu 14.04,并安装了它的emacs软件包(Emacs 24.3.1)。

1
机构模式:在表格外使用表格公式吗?
我想知道是否可以在表外部显示对表数据执行的计算结果。 例如,假设我有一个带有名称列表的表。是否可以使用纯文字显示类似“ This below list contains [ ] names.”的文字并[ ]包含对表格进行计数的结果?


1
使用eshell / TRAMP / dtach附加到运行中的远程Shell
我经常使用GNU Screen使远程会话保持活动状态。由于我住在Emacs中,因此我非常希望能够从Emacs中恢复正在运行的远程Shell会话。 GNU Screen实现了我真正不需要的各种奇特功能,例如终端多路复用和字符绘制。我真的只对拥有可分离和可恢复的shell会话感兴趣,所以简单的事情dtach就足够了。 我正在使用此功能来打开SSH会话并重新连接到的运行dtach会话shell-mode(从此处获取): (defun ssh-dtach (host) "Open SSH connection to remote host and attach to dtach session." (interactive) (let ((explicit-shell-file-name "dtach") (explicit-dtach-args '("-A" "/tmp/emacs.dtach" "-z" "/bin/bash" "--noediting" "-login")) (default-directory (format "/ssh:%s:" host))) (shell (format "*ssh %s*" host)))) 尽管有一些小怪癖,但这对于几乎可以用shell-mode,但是在Eshell中,这仅启动了一个子进程,因此终端变得非常有限(例如,没有路径自动完成)。 dtach连接到远程服务器后,如何配置Eshell以连接到正在运行的会话? 编辑: 当我再次考虑这个问题时,我意识到尚不清楚我真正想要的是什么。清单: 我想留在eshell中,而不是在某些子过程中 重新连接后,我希望重播远程会话的输出并且远程命令历史记录可用 我希望能够与正在运行的远程进程进行交互(例如正在yum install等待我的输入) 看来我需要编写一些elisp代码才能使所有这些与dtach一起使用。
11 eshell  shell  remote  ssh 


2
如何加快组织模式议程的生成
Emacs组织模式生成我的议程需要花费几秒钟。我怎样才能使其更快?我已经在使用存档文件,并且我的文件少于30个.org,它们都相当短。 org-agenda命令的部分探查器输出: + ... 93 50% - command-execute 90 49% - call-interactively 85 46% - org-agenda 80 43% - byte-code 80 43% - call-interactively 79 43% - org-agenda-list 79 43% - byte-code 79 43% - org-agenda-prepare 68 37% - org-agenda-prepare-buffers 67 36% - byte-code 67 36% - org-get-agenda-file-buffer 67 36% …

1
Emacs和OS X菜单栏
一段时间以来一直在寻找解决方案。在OS X未成年人模式下,用无用的菜单项填充菜单栏。这是屏幕截图: 如果您不知道,Emacs菜单项将阻止我菜单栏的其余部分。有没有办法告诉Emacs不要使用菜单栏? 我正在使用此 emacs 端口。
11 osx  menu-bar 

5
预览组织结构表中的字段
有时在以组织模式创建表时设置手动列宽比较方便。这样一来,列就不必增长到最长条目的大小。当组织模式表中的条目长于在其中找到的列时,该条目将在视觉上被截断,=&gt;并在末尾带有符号。 我知道我可以C-c `使用org-table-edit-field,但这需要按C-c C-c关闭预览窗口并返回到org-mode缓冲区。调用带有前缀参数的同一命令C-u C-c `将使整个字段可见,以便可以在适当位置进行编辑,但是如果我想快速连续快速预览5-10个字段,这仍然很乏味。 LibreOffice Calc在电子表格的顶部具有一个预览字段(MS Excel也是如此),该预览字段显示当前所选字段的值: 编辑组织模式表时是否可以获得类似的预览? 小型缓冲区似乎是一个不错的地方,尽管它可能会产生*Messages*快速填充缓冲区的副作用。缓冲区顶部或底部的专用微型窗口也将起作用。

1
配置Emacs尤其是撤消树模式来平铺窗口管理器
我想以面向框架的方式使用Emacs,并让我的平铺窗口管理器处理缓冲区组织。例如,遵循本教程。默认情况下,诸如undo-tree-mode之类的Emacs软件包似乎依赖于窗口来显示可视化效果。我在这方面错了吗?我可以将undo-tree-mode默认设置为在另一帧中打开可视化器吗?

2
如何抑制emacs在文件中显示最后换行符?
vim的一个怪癖是,如果文件以换行符结尾,则在文件末尾不会显示空行。这样,如果文件不以换行符结尾,则显示是相同的,只是[noeol]在modeline中带有标记。 另一方面,如果文件以换行符结尾,则Emacs显示最后一行,否则不显示。 尽管Emacs的行为从根本上讲是明智的,但无论好坏,我已经习惯了前者。 有什么办法可以抑制最后一个空行的显示,同时仍然要求文件以换行符终止? 屏幕截图显示了三个窗口(如果太小,则在新选项卡中查看图像): 左侧大emacs窗口hexl-mode,向您显示文件末尾确实有换行符(光标位于0a处)。 Emacs窗口在右上角,光标在第三行空白处。 Vim窗口在右下角,光标在最后一个文本行上。即使文件以换行符结尾([noeol]在vim状态行上没有标记),光标也不能移动到该点以下。

3
填充段标记文件已更改,即使它没有执行任何操作
每当我调用时fill-paragraph,即使该命令无效(即该段落已被填充),该缓冲区也始终被标记为已修改。它还会创建一个空的可撤消操作(很容易通过检测到undo-tree-mode)。其他有可能进行更改的命令(例如缩进命令)不会将缓冲区标记为已修改,也不会在未进行任何更改的情况下创建可撤消的操作。有什么方法可以使fill-paragraph标记标记为已修改的缓冲区,并仅在实际上更改了某些内容时创建可撤消的操作?

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.