在Emacs中打开特定文件的快捷方式

Pat*_*ois 17 emacs

我希望能够使用键盘快捷键来编辑我的.emacs文件,而不是每次都输入Ctrl-XCtrl-F.emacs Enter(这是关于Vim 的类似问题).可能有一种显而易见的方法,但我找不到Emacs Lisp命令来打开文件.我认为这将是以"开放"或"文件"开头的东西,但打字M-x和这些术语似乎没有带来任何相关的东西.我试过了

(global-set-key (kbd "<f6>") (find-file "~/.emacs"))
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

Ole*_*liv 39

根据文件

(global-set-key KEY COMMAND)

给KEY一个全局绑定作为COMMAND.COMMAND是要使用的命令定义; 通常它是一个命名交互式可调用函数的符号.

所以你必须使用交互式可调用函数:

(global-set-key (kbd "<f6>") (lambda() (interactive)(find-file "~/.emacs")))
Run Code Online (Sandbox Code Playgroud)

我个人更喜欢使用emacs寄存器来存储我经常使用的文件.我会将'〜/ .emacs'存储在寄存器中:

(set-register ?e (cons 'file "~/.emacs"))
Run Code Online (Sandbox Code Playgroud)

并打开它 C-x r j e

  • 对于〜/ .emacs(或者在我的情况下,〜/ .emacs.d/init.el),您可以使用变量user-init-file,它始终是加载的任何用户配置文件.(find-file(或user-init-file"")) (5认同)
  • 非常感谢Oleg.寄存器很棒!你甚至可以使用大写和小写字母,如:`(set-register?x(cons'file"〜/ .xinitrc"))`和`(set-register?X(cons'file"〜/ .Xresources) "))`. (3认同)

aar*_*ist 6

为此,书签是一个很好的解决方案,它与 emacs 一起打包。这样,如果您可以看到要打开的文件列表,您就可以轻松浏览它们。还有提供多种选择的BookmarkPlus

M-x list-bookmarks