在vi [m]中有! 命令,让我通过shell命令pipe道文本 – 如sorting或缩进 – 并获取过滤的文本回到缓冲区。 在emacs中有没有相同的东西?
如何将符号types转换为Emacs lisp中的string? 我无法findsymbol-to-string函数或类似的东西。
在elisp中,有一个'如果'的情况下,我想要执行许多不同的事情: (if condition (do-something) (do-something-else) …) 但是,(do-something-else)仅在else情况下执行。 你怎么能指定一个指令块来执行? 例如: (if condition (begin (do-something) (do-something-else) …))
我怎样才能从emacs创build一个空文件,理想情况下从一个直接的缓冲区? 例如,我刚刚在dired模式下打开了一个Python模块,创build了一个新目录,在dired中打开了这个目录,现在需要在目录中添加一个空的__init__.py文件。 如果我使用Cx Cf __init__.py RET Cx Cs那么emacs不会创build该文件,因为没有对其进行更改。 我将不得不input文件,保存它,删除我的input,然后再次保存它的工作。 谢谢
我有一个关于Emacs Lisp的问题。 setq和setq-default有什么区别? 我很困惑。 教程说setq在本地缓冲区中生效,而setq-default影响所有缓冲区。 例如,如果我在init.el中写了(setq a-var a-vars-value) ,我发现在启动Emacs并打开一个新的缓冲区之后, a-var也存在,它的值是a-vars-value 。 我以为这不应该在那里。 setq和setq-default似乎没有区别。 我的理解有什么问题吗? 非常感谢你。 例如: 1)我在init.el文件中写了(setq hello 123) ,我在shell中运行emacs abuffer ,然后input“hello Cx Ce” ,它显示“123”。 当我在所有新的缓冲区中运行这个同样的事情发生。 2)我在init.el文件中写了(setq tab-width 4) 。 当我运行标签宽度Cx Ce时 ,它显示“8”(当前模式是“文本”)。 但是,当我使用(setq-default tab-width 4)时 ,它显示“4”。 我无法解释这种现象。
我想emacs标记打开文件时生成只读的文件。 我缺less的难题是如何检查一个文件是否存在。 我目前有以下几点: ;; ;; get file extension ;; (defun get-ext (file-name) (car (cdr (split-string file-name "\\.")))) ;; ;; get the base name of the file ;; (defun base-name (file-name) (car (split-string file-name "\\."))) ;; ;; if an 'lzz' file exists for this header, mark it as read only ;; (defun mark-read-only () (if (string= […]
使用eval-after-load和使用模式钩子设置模式的东西有区别吗? 我已经看到了一些代码,其中在主要模式钩子中使用了define-key ,以及其他代码,其中define-key在eval-after-load表单中使用。 更新: 为了更好的理解,下面是使用org-mode使用eval-after-load和模式钩子的一个例子。 代码可以在 (load "org")或(require 'org)或(package-initialize) 。 ;; The following two lines of code set some org-mode options. ;; Usually, these can be outside (eval-after-load …) and work. ;; In cases that doesn't work, try using setq-default or set-variable ;; and putting them in (eval-after-load …), if the ;; doc for the […]
Go有没有合适的Emacs模式? C模式不工作没有分号。 我发现的最好的是Karl Landstrom的JavaScript模式 ,因为JavaScript也不需要分号。
我在这里得到一个“错误的types参数:commandp,(lambda nil(forward-line 5))”。 (global-set-key [?\Mn] (lambda () (forward-line 5))) 什么是错误? 我相当确定这很简单,我错过了一些明显的东西。
这是做什么的? (add-hook 'compilation-mode-hook #'my-setup-compile-mode) …和它不同 (add-hook 'compilation-mode-hook 'my-setup-compile-mode)