标签: elisp

如何在 emacs 中完成文件路径?

比如说我正在编辑一个配置文件,我想输入一个路径。是否有 emacs 插件可以让您完成该缓冲区中的文件路径?我已经搜索过这个,那里有无数的补全插件。

emacs autocomplete elisp

15
推荐指数
4
解决办法
1万
查看次数

如何编写在当前光标位置插入带有变量字符串的文本的 emacs 命令?

我想编写一个 elisp emacs 命令,该命令在当前光标位置插入一个包含可变部分的固定字符串:

\label{$STRING} \index{\nameref{$STRING}}
Run Code Online (Sandbox Code Playgroud)

命令应该查询$STRING并插入整个文本的位置。

emacs elisp

13
推荐指数
1
解决办法
4281
查看次数

有没有办法在 Emacs 中打印现有函数的定义?

我想在 Emacs 中查看现有函数的定义。这可能吗?

我试过了C-h d function-name RET,但它只返回函数的文档字符串,而不是实际的函数本身。

我在想类似于 bashtype命令的东西,它将返回一个函数的整个定义。

(令人尴尬的背景故事:我不小心在我的.emacs文件中用一个非工作版本写了一个工作函数。原始函数仍在内存中!它有效!但我终生不记得我是如何做到的。)

emacs elisp lisp

11
推荐指数
1
解决办法
3500
查看次数

将文件夹上的所有组织文件加载到议程

我找到了一个组织教程,其中解释了如何从文件夹加载组织文件,使用

(setq org-agenda-files (list "~/org/work.org"
                             "~/org/school.org" 
                             "~/org/home.org"))
Run Code Online (Sandbox Code Playgroud)

有没有办法告诉 emacs 将给定文件夹中的所有组织文件加载到议程中?

emacs elisp org-mode

10
推荐指数
2
解决办法
8468
查看次数

有什么方法可以将驼峰式名称转换为在 emacs 中使用下划线?

例如,我想将“CamelCasedName”转换为“camel_cased_name”。有没有办法在 emacs 中做到这一点?

emacs elisp

8
推荐指数
1
解决办法
1785
查看次数

Emacs + git:每 5 分钟自动提交一次

如何设置 emacs 以在每次保存打开的文件或定期保存打开的文件时自动执行 git commit?

linux git emacs elisp

7
推荐指数
1
解决办法
3533
查看次数

设置默认的 Emacs 窗口边距

我正在尝试模拟暗房模式Emacs 模式的某些行为——特别是边距设置。

我已经找到了一个难题——具体来说,要更改窗口边距,我可以 eval (set-window-margins nil <left margin> <right margin>)

这很好,但我注意到更改只发生在当前窗口中,如果我使用 Cx 向左或向右箭头键切换到不同的缓冲区,实际上会回到默认边距。

我想弄清楚如何执行以下操作:

  • 设置它以便所有缓冲区获得相同的窗口边距设置。
  • 设置它以便更改窗口后边距设置仍然存在。

我知道这可能涉及使用钩子,但我不确定要使用哪些钩子。

emacs elisp

7
推荐指数
1
解决办法
4986
查看次数

Emacs 修改退出窗口以删除缓冲区而不只是埋葬它

我想提出的Emacs不仅埋葬一个缓冲区,但杀死它太当我按下q一个*Completions*/*Help*/etc缓冲区。我无法使用替代键定义功能。我在 OSX 上运行 Emacs24。

这是我所拥有的:

(substitute-key-definition
        'quit-window '(lambda () (interactive) (quit-window "KILL")) global-map)
Run Code Online (Sandbox Code Playgroud)

emacs elisp

7
推荐指数
1
解决办法
1255
查看次数

在 Emacs 中组合两个操作符

在 vim 中,我重新映射了><在可视模式下分别映射到>gv<gv,如下所示:

vnoremap > >gv
vnoremap < <gv
Run Code Online (Sandbox Code Playgroud)

由于我的目标这个问题与emacs的经历乡亲,而不是VIM,什么><做的是缩进/ DEDENT语言视觉上选定的文本。什么gv是重新选择以前选择的文本。这些映射导致><缩进/缩进,然后重新选择先前选择的文本。

我正在尝试使用邪恶模式的 emacs,我也想做同样的事情,但是我在弄清楚如何准确地完成自动重新选择时遇到了一些困难。

看起来我需要以某种方式调用evil-shift-rightevil-visual-restore顺序,但我不知道如何创建一个可以同时调用和映射的映射,所以我尝试创建自己的函数,该函数将依次调用和映射,但它没有用,可能是因为它们都被定义为函数,defun而是作为运算符evil-define-operator

我尝试创建自己的运算符:

(evil-define-operator shift-left-reselect (beg end)
    (evil-shift-left beg end)
    (evil-visual-restore))

(evil-define-operator shift-right-reselect (beg end)
    (evil-shift-right beg end)
    (evil-visual-restore))
Run Code Online (Sandbox Code Playgroud)

但这并没有像预期的那样恢复视觉。黑暗中的刺伤给了我这个:

(evil-define-operator shift-left-reselect (beg end)
    (evil-shift-left beg end)
    ('evil-visual-restore))

(evil-define-operator shift-right-reselect (beg end)
    (evil-shift-right beg end)
    ('evil-visual-restore))
Run Code Online (Sandbox Code Playgroud)

但是只要它应该重新选择,就会选择额外的一行。

现在我一直在使用以下内容,它只有在重新选择<运算符中的附加行的问题。

(evil-define-operator shift-right-reselect …
Run Code Online (Sandbox Code Playgroud)

vim emacs elisp

7
推荐指数
1
解决办法
1132
查看次数

如何让 emacsclient 在终端和 X 窗口中使用不同的主题?

有时我emacsclient -t -a ''在 xterm 中使用,有时我emacsclient -c用作 GUI 应用程序。令我烦恼的是,emacs 服务器启动时字体设置和颜色主题已初始化,因此window-system测试不生效。

那么我可以使用任何功能让 emacsclient 选择面部设置吗?

谢谢。

terminal emacs elisp

7
推荐指数
1
解决办法
2744
查看次数

标签 统计

elisp ×10

emacs ×10

autocomplete ×1

git ×1

linux ×1

lisp ×1

org-mode ×1

terminal ×1

vim ×1