如何将以下键绑定添加到Emacs init.el?

如何将以下键绑定添加到Emacs init.el?,emacs,clojure,Emacs,Clojure,我在学Clojure。每天,我打开Emacs并键入以下命令: C-x 3 ; create a new window on the right M-x cider-jack-in ; open up a REPL C-x o ; switch to my left window C-x C-f code/clojure-projects/something.clj ; open up a file and start coding 我想自动执行这些任务,以便在每次Emacs启动时自动执行 为此

我在学Clojure。每天,我打开Emacs并键入以下命令:

C-x 3 ; create a new window on the right
M-x cider-jack-in ; open up a REPL
C-x o ; switch to my left window
C-x C-f code/clojure-projects/something.clj ; open up a file and start coding
我想自动执行这些任务,以便在每次Emacs启动时自动执行

为此,我需要在
~/.emacs.d/init.el
文件的底部添加一些内容,对吗


我还想知道我将来如何做这些事情的过程。

你可以使用键盘宏

这个想法是你记录你的行动并命名行动。Emacs将为您生成代码,您只需设置密钥映射

因此,首先,您需要通过
C-x(
开始录制宏,并执行命令,直到您完成录制,然后
C-x)
结束宏录制会话

现在您将拥有一个未命名的宏,您可以通过执行所有录制命令的
C-xe
对其进行测试

现在,您可以通过
M-x name last kbd macro
来命名宏。之后,转到您的
init.el
,然后执行
M-x insert kbd macro
,它将为您粘贴
(fset)
,现在您可以使用
M-x
调用宏,即使您打开了新的emacs会话

如果愿意,还可以设置密钥绑定。例如:

(global-set-key (kbd "C-c a") 'my-macro)

有关更多信息,请查看要使这些命令仅在启动时以
clojure模式运行,请将以下内容添加到
~/.emacs.d/init.el
文件中:

(defun my-clojure-startup ()
  "Startup sequence for clojure-mode"
  (interactive)
  (split-window-horizontally)
  (cider-jack-in)
  (other-window)
  (find-file "/your/full/filepath.ext"))
要将其绑定到密钥,例如CRTL+c a,请执行以下操作:

(global-set-key (kbd "C-c a") 'my-clojure-startup)
或者在clojure模式下启动时让其运行:

(add-hook 'clojure-mode-hook 'my-clojure-startup)

注意这是未经测试的,因为我没有clojure,所以看不到每个命令的完整行为,但这至少应该能给你一个提升。

可能不会让这一切在启动时真正发生,因为这样你会感到悲伤,例如,git commit打开您的
编辑器
,emacs尝试打开clojure文件,而不是编辑提交消息。相反,编写一个执行这些操作的elisp函数,并将其绑定到一个方便的键绑定,如
C-C
(助记符:
C-C
用于个人键绑定,
C
用于clojure)。