Emacs

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

2
类似于搜索/替换的功能,用于交换文本
我经常发现自己试图取代如foo与bar和bar与foo在缓冲区中。 我通常的方式是: 3查询-替换:aaa -> @@@,bbb -> aaa,@@@ -> bbb 放弃自动化,只需要手工更换 我想可以使用,语法query-replace-regexp来测试匹配的字符串是否为aaa或bbb。但是产生的语法太麻烦了,所以我从来没有真正尝试过。 问题是,考虑到任务的普遍性,我认为必须有更好的单步执行方式,无论是内置的还是现有的程序包。在那儿?


1
检查大型/复杂Lisp对象的方法
我一直在处理一些组织输出引擎代码,这些代码会传递一些相当大且复杂的列表对象。通过阅读对象的长字包装印刷表示形式或在暂存缓冲区中迭代地编写和评估访问器,来探索对象非常繁琐。我并想知道是否有任何好的方法可以交互式地检查值。 例如:许多IDE在交互式树状视图中显示对象值,从而允许增量扩展键/值。对象始终显示在屏幕上,并且可以检查对象而不必担心所查看的值类型。Chrome开发者工具的随机屏幕截图,如下所示: 其他工具将值显示为可导航的弹出窗口(功能非常相似)。Visual Studio的随机屏幕截图: Emacs Lisp有类似的东西吗?也许是edebug中内置的东西或其他软件包提供的东西?还是只是在等待开发? 注意:发布此问题后不久,我发现了pp和pp +。格式化在视觉上导航对象结构方面非常有用。它省去了修改print-length和print-depth调到极值并在单独的缓冲区中格式化输出的需要。

1
如何在组织模式下在普通列表项下缩进
尽管普通段落很高兴在普通列表项下缩进(使用[SPACE]栏将第一行缩进),但我注意到代码块不喜欢合作。有没有什么办法解决这一问题? 现在,这就是我所拥有的: - [ ] My plain list item Nicely indented paragraph, blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah. #+BEGIN_SRC elisp ; Uncooperative code block -> notice that only the first line …

3
退格键不加杀环
使用Crtl + Backspace或Ctrl + Del可将删除的文本添加到kill ring。 如何防止这种情况发生?删除时,我不需要将所有文本发送到kill ring。 补充问题:此默认设置的目的是什么?:)


1
以内联方式显示递归文件夹大小吗?
我想du在Dired缓冲区中在线显示文件夹内容的递归大小(该值将由报告)作为附加列或代替目录文件大小。使用dired / dired +或相关软件包已经可以做到这一点吗? 我已经进行了一些挖掘,并找到了有关这种功能的讨论,但是没有任何东西可以将大小信息集成到Dired的图形界面中。 https://www.emacswiki.org/emacs/DiredGetFileSize /superuser/462079/how-can-i-display-folder-sizes-in-emacs-dired
12 dired  files 

3
何时使用宏或不使用宏
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 什么时候应该在程序中使用宏? 这个问题的灵感来自@tarsius 的翔实答案。我相信许多人都有分享其他人的丰富经验。我希望这个问题成为伟大的主观问题之一,并为Emacs程序员提供帮助。

1
将组织模式表中的列与日语字体对齐
如何在同一组织模式表(使用固定宽度字体)中混合日语和英语?就像是: | mmmmmm | | | デシウ| | | ハ ー フ | ハ ー フ | 不会对齐。Emacs只是将日语字符视为一个,而实际上日语字符却大了10%。 列的宽度可以像素设置吗?我知道<10>可以设置宽度,但这无济于事,因为它以固定宽度的字母表示。 问题基本上是emacs如何对齐列(使用字体宽度)。

2
如何在nadvice.el中处理参数列表?
在回答有关新建议系统的另一个问题之后: 在旧式中advice.el,可以操纵建议函数的参数列表的各个成员,而不必对未操纵的那些成员做出任何断言。例如,以下建议: (defadvice ansi-term (around prompt-for-name last) (let ((name (read-from-minibuffer "Tag: "))) (and (not (string= name "")) (ad-set-arg 1 (concat "Term: " name))) ad-do-it)) 允许为ansi-term调用提供(可选)缓冲区名称参数,同时ansi-term仍会通过根据其自身的交互形式进行提示来获取其第一个参数。 (供以后参考,ansi-term的签名为(PROGRAM &optional BUFFER-NAME),其交互形式提示PROGRAM带有多个可能的默认值,但对BUFFER-NAME无效。) 我不确定是否可以在中进行nadvice.el。如果是这样,我不确定该怎么做。我发现了几种替换建议函数的参数列表的方法。 例如,来自* info *(elisp)咨询组合: `:filter-args' Call FUNCTION first and use the result (which should be a list) as the new arguments to …
12 advice  arguments 

2
如何修改Elisp的阅读器?
修改阅读器将允许引入新的阅读语法(例如#(hash table)和'(quoted))。许多Lisps都具有这种能力,但是elisp似乎不存在这样的功能。
12 elisp 

2
我可以在Modeline打火机中使用图像吗?
我的模型太混乱了。我可以显示图片而不显示模式名称吗? 我可以使用unicode表情符号(例如🐍表示Python或🐓表示Coq),但是使用Emacs配置的某些计算机没有预先安装正确的字体(理想情况下,我也想在我正在编写的模式,因此我不能期望用户使用正确的字体设置)。 我尝试将:image显示属性添加到玩具次要模式的Modeline打火机中,但是在Modeline中什么也没出现: (define-minor-mode my/test-mode "Test mode." :lighter (propertize " 🐓" 'display '(image :type imagemagick :file "/home/clement/.emacs.d/rooster.png")))

1
我可以让标点符号越过填充列吗?
在排版中,有一种叫做“突出”(或悬挂标点符号)的做法,它允许某些符号挂在页边距的末端: 我想对我的文本文档执行相同的操作。 填满段落后,我可以更改fill-paragraph(和朋友吗?)以忽略行尾标点(.?!:;,'"-)?

2
“扬子”一词的起源是什么?
我对学习“猛禽”一词的名字很感兴趣。我也对为什么Emacs“ yank”不同于vi / vim“ yank”感兴趣。 另请参见:关于Vi的双重问题,也在Unix和Linux上;
12 yank  history 

5
在spacemacs中禁用smartparens
这smartparens-mode不适合我的编辑风格。但是,如果我尝试在spacemacs中全局禁用它,则会重新启用该模式: (smartparens-global-mode -1) 如何禁用smartparens模式?

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.