Emacs

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



2
是否有任何清晰的SMIE文档?
我花了很多小时来尝试使任何形式的SMIE缩进规则/语法/事物都起作用。 是否有基于SMIE的小型,玩具或骨架模式的示例,其中包含有关其实际工作方式的文档,或者有关如何使用它的任何讨论?就是说,将表达式定义为以分号结尾的令牌字符串,而将块定义为括号之间的某些表达式,仅此而已。真的,真的很简单吗? 具体问题:在使用smie-config-show-indent时,有90%的时间得到响应':list-intro“”-> nil'。基于列表的表达式或表达式列表的定义是什么?为什么说nil并仍然缩进以下几行?我该如何更改? 其次:我的语法和我的smie规则之间是否有任何关系?我想是因为它们都传递到了smie-setup中,但是我找不到任何方式说“例如,当您看到一个'block'时,缩进内容”,例如,基于识别一个block的语法。 第三,SMIE似乎有很多“扎根”的规则。只需将其启动即可对括号,大括号和括号等进行一般处理。有什么办法可以看到这些规则或对其进行修改?还是语法表正在执行所有这些操作,而SMIE实际上根本没有执行任何操作(我开始怀疑)。 最后,当尝试调试SMIE时,我尝试做一个“编辑,评估模式缓冲区,转到其他缓冲区中的示例代码,MX <我的模式>,测试”循环,但是似乎每次行程都无法清除规则前一个周期。我如何确定定义派生模式是从干净的表开始的?我在那里(kill-all-local-variables)在其中,但这似乎还不够,我最终不得不关闭emacs。 我没有发布任何示例,因为除了突出显示(使用font-lock-defaults之外,我什至无法隐约地工作),我猜它甚至都不是SMIE。我需要一些实际的步骤。
18 indentation  smie 

2
Dired或Dired +到剪贴板的当前路径
假设我们在某个目录上打开了Dired缓冲区。如何将目录路径发送到剪贴板? 此外,当Dired光标位于特定文件上时,如何做同样的事情,而无需先打开文件?
18 dired 

2
组织模式与Google日历的集成?
日历集成的各种方法似乎都无法很好地工作。关于worg的教程已过时,现在将该函数称为org-icalender-export-to-ics。但是在.org文件上运行此功能会给我一个.ics没有任何条目的文件: BEGIN:VCALENDAR VERSION:2.0 X-WR-CALNAME:Personal PRODID:-//Xiang Ji//Emacs with Org mode//EN X-WR-TIMEZONE:HKT X-WR-CALDESC: CALSCALE:GREGORIAN END:VCALENDAR 我曾经用来mobileorg直接与Android上的Google日历同步。但是,该项目长期以来一直处于维护状态,并且最近我完全无法与任何组织文件同步mobileorg,并且发生各种无法识别的错误。 我需要做的就是将这些条目与日历同步SCHEDULED并同步DEADLINE到日历上,以便我在用手机时也可以检查它们。 在Reddit上也有类似的问题,但是那里提到的解决方案都无法实现这一目标。

3
如何使用Flyspell有效纠正前一个单词?
从我开始使用Flyspell的那一刻起,使用它一直很痛苦。我很少检查整个缓冲区中是否有拼写错误的单词,通常我会键入,一旦看到带下划线的单词,我想立即更正并继续输入。这仅仅是因为我担心以后忘记忘记修改该单词,并且因为当我开始全面检查缓冲区时,iSpell给出了太多的误报。因此,几乎总是在输入时我会尽快纠正单词。 这是我所知道的内置函数以及它们效率不高的原因(对我而言): flyspell-correct-word—绑定鼠标单击。算了,我不会使用鼠标。 flyspell-correct-word-before-point-我用了一段时间。它有两个缺点: 默认情况下,它显示GUI菜单,如果没有鼠标,很难操作,并且当您拥有包含10项以上的更正列表时,这确实很麻烦。 在要点之前很久都无法使用单词。我会快速键入,当我发现拼写错误的单词时,通常在拼写错误的单词和点之间会有一个或两个单词。我需要移动点,纠正单词,然后返回。哦。 flyspell-auto-correct-word —请参阅第2点↑,而且在您有很长的完工清单时(由于循环),它不能很好地工作。 问:如何通过键盘有效地使用Flyspell,能够在不循环的情况下从完成列表中进行选择,并且能够纠正或多或少的远处单词? 可以接受的答案包括可帮助您导航到先前拼写错误的单词,更正单词并返回或类似内容的软件包以及一些小片段(可能来自您自己的配置文件),因为我相信其他人已经找到了与Flyspell进行有效交互的方式。
18 flyspell 

1
在spacemacs中使用本地软件包的最佳方法是什么?
我是spacemacs使用的软件包(ycmd)的开发人员,我也想尝试使用spacemacs。我希望spacemacs使用我程序包的“开发版本”,即我正在本地使用的版本。告诉spacemacs使用该版本的软件包而不是melpa的版本的最佳/正确方法是什么? 现在,我使用了的:load-path参数use-package,但这似乎有点背离。spacemacs是否允许我在某个地方的层配置中为特定软件包指定加载目录?

2
“ magit”如何发音?
问:如何发音magit? 今天我想到,我从未大声说过“ magit”,如果我愿意的话,我宁愿不要自欺欺人。 所以:是摹在magit发音为: 一个j,如魔术一样,或 像git一样难的g? 我想我总是把它说成是j,但我也可以看到另一种方式(除了不幸的与“ mag”相似)。
18 magit 

3
在Emacs中阅读邮件列表档案?
有时,我想阅读未订阅项目的邮件列表档案。在线上有不错的HTML存档(例如https://lists.gnu.org/archive/html/emacs-devel/2014-12/msg00347.html),但是我不喜欢在浏览器中阅读邮件。 Emacs是否具有读取邮件列表档案的界面?我已经使用mu4e在Emacs中阅读了我的个人电子邮件,但是我也希望能够在Emacs中阅读其他人的电子邮件(扩展到这些其他人已发布到公共邮件列表中)。 必须有一个模式。(我怀疑gnus是答案,但我从未使用过。)
18 email 

6
以列表形式获取缓冲区中的所有正则表达式匹配项
今天,在Code Golf Stack Exchange网站上,我在Clojure中找到了“获取网页上的所有链接”问题的答案。 (->> (slurp "http://www.stroustrup.com") (re-seq #"(?:http://)?www(?:[./#\+-]\w*)+")) 没有花哨的宏,就是这样: (re-seq #"(?:http://)?www(?:[./#\+-]\w*)+" (slurp "http://www.stroustrup.com")) 这将返回列表: ("http://www.morganstanley.com/" "http://www.cs.columbia.edu/" "http://www.cse.tamu.edu" ...) 我可以在Emacs Lisp中做类似的事情吗? 也许像(re-seq regexp (buffer-string))这样的函数返回'(firstmatch secondmatch thirdmatch ...)?

2
是否有用于代码注释的全自动填充段落模式?
我正在寻找一种次要模式,以便在键入时始终保持段落填充(类似于aggressive-indent-mode缩进)。它还需要足够聪明以仅填充注释(可能取决于语言,也可以填充字符串)。 我尝试过的一些事情是: auto-fill-mode 在键入新段落时自动填充,但在编辑段落时不会自动填充。 refill-mode 确实会不断地重新填充段落,但是会尝试将代码包装到段落和注释中。 我尝试添加fill-paragraph到after-change-functions钩子中,但是它会破坏撤消操作和其他很多事情(这可能都是可修复的,但需要一些努力)。 还有更好的主意吗?


4
如何在启动时设置默认窗口?
每次我打开Emacs时,我倾向于依次执行C-x 3(split-window-right)和C-x2(split-window-below)来设置3个窗口。之后,我必须切换到每个窗口以打开要编辑的文件。 如何设置为自动完成? 有没有办法让Emacs从上一次使用中恢复相同的屏幕组织(窗口和文件)?

9
您将如何向非技术人员解释Emacs?
我本着如何向奶奶解释LaTeX的含义的精神? 对于任何基于文本的目的,Emacs都是出色的编辑器-这对于使用它的我们来说是显而易见的。很多时候,我试图向我的一位朋友解释为什么我使用“看起来很老”的东西,而我却很难找到一个好的答案。我不一定对将其“转换”为使用Emacs感兴趣。就像我说的那样-他们不一定有理由这么做。我只想解释为什么我使用Emacs而不是Visual Studio,Sublime,Atom或任何功能丰富的图形编辑器。是什么使其成为这些之中的最佳选择?
18 learning 

2
如何在不刷新页面的情况下在eww中切换显示图像?
我使用eww浏览互联网,并且经常不希望加载图像,其中似乎没有为eww内置的自定义项太多,也没有处理图像的问题。 目前,我有一个系统设置程序,该程序可以让我开始和停止以eww形式显示图像,但只有在刷新页面后,我想要的是一种无需打开页面即可打开和关闭图像的方法。 这是我当前的方法,它利用了shr-put-imageeww使用的内部原理。 (defvar display-graphic-override nil "Used to override `display-graphic-p' behavior. Should either be nil, or a list where the car is the override.") (defadvice display-graphic-p (around sometimes-lie activate) "Use the override if it is non nil." (if display-graphic-override (car display-graphic-override) ad-do-it)) (defadvice eww-render (around no-images activate) "Temporarily lie about …
18 images  eww 

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.