有没有人有一个 emacs lisp hack,可以允许在 dired-do-copy 或 dired-do-rename 期间动态创建新目录?据我所知,可以在运行这两个命令之一之前创建它。某些类型的“您确定...”提示可加分。
我试图让一个中间步骤向后删除单词,这应该停在一个大写字母(在camelCase的情况下).
为此,我想使用以下内容来向后获取第一个大写字母的位置:
(search-backward-regexp "[:upper:]")
如果你在最后一个括号之后运行它,那么它将在这里:
(search-backward-regexp "[:upper | :]"),也就是说,之后r.
怎么会这样?
是否可以配置 emacs 术语以将所有内容(可能是异常 Mx)作为原始命令发送。这将允许例如在终端内运行 emacs -nw 并且每个命令都适用于终端内的 emacs 现在是外部的。
我想要这样的东西,因为我有时从终端或屏幕运行 nano,我也使用 ssh,这将允许我在服务器上运行 emacs。现在,当我运行 nano 时,我需要调用发送 Cx 的 Cc x。
在.emacs中我将变量定义为:
(setq-default prevent-highlight-symbol-mode nil)
Run Code Online (Sandbox Code Playgroud)
我用它来禁用红色标签:
(add-hook 'font-lock-mode-hook
(lambda()
(if (and (null (memql major-mode highlight-chars-disable))
(not prevent-highlight-symbol-mode))
(hc-highlight-tabs))))
Run Code Online (Sandbox Code Playgroud)
并在项目特定的宏中使用它
(project-specifics "projects/some-project"
(setq prevent-highlight-symbol-mode t)
(setq indent-tabs-mode t))
Run Code Online (Sandbox Code Playgroud)
但是当我在某个项目目录中打开一个文件并且我prevent-highlight-symbol-mode在任何缓冲区中检查时我都t没有nil,它是全局设置的.如何在缓冲区中将该变量设置为本地?
我有一个emacs lisp列表,上面写着:
(setq states '(
Nebraska
NE
Nevada
NV
New Hampshire
NH
New Jersey)
)
Run Code Online (Sandbox Code Playgroud)
我创建了一个只打印状态名称的函数,而不是缩写:
(defun names (los)
"Get names from list of states"
(when los
(print (car los))
(names (cdr(cdr los)))
)
)
Run Code Online (Sandbox Code Playgroud)
我把这个函数称为:(names states)和get
Nebraska
Nevada
New
NH
Jersey
Run Code Online (Sandbox Code Playgroud)
如何告诉我的lisp函数(或设置我的列表),以便单词中的空格不是分隔符,只有换行符是分隔符?
谢谢
如果您编写类似的东西(+ 2 3),则将+其视为函数,如果+没有与之关联的任何函数定义,则会发生错误.
如果你写的东西(let (a b c)),(a b c)读作数据.
lisp如何决定?
我安装了一些主题,并将以下内容放入了我的$HOME/.emacs:
(custom-set-variables ; Your init file should only contain one of these
'(custom-safe-themes (quote ("ea489f6710a3da0738e7dbdfc124df06a4e3ae82f191ce66c2af3e0a15e99b90"
"a8245b7cc985a0610d71f9852e9f2767ad1b852c2bdea6f4aadc12cce9c4d6d0"
"8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4"
default)))
)
Run Code Online (Sandbox Code Playgroud)
为什么在引号内有引号?那不是多余的吗?
我在Emacs Lisp Interaction上运行以下代码:
(defun square (x) (* x x))
(square (square (square 1001)))
Run Code Online (Sandbox Code Playgroud)
这给了我1114476179152563777。但是,((1001^2)^2)^2实际上是1008028056070056028008001。这怎么可能?
(defun interleave (x y)
(cond ((and (null x)(null y)) nil)
(t (cons (car x) (cons (car y) (interleave (cdr x) (cdr y)))))
Run Code Online (Sandbox Code Playgroud)
想知道上面的代码做什么?
我想对((A 4)(B 2)(C 3)(D 5))进行排序,使得结果为((D 5)(A 4)(C 3)(B 2)).我有正常的排序技术,但它不适用于子列表.