如何将下面一段代码用Spacemacs的Layer来写?

(add-hook 'dired-mode-hook (lambda () (define-key dired-mode-map (kbd "i") (lambda () (interactive) (find-alternate-file "..")))))

想给dired换一个快捷键, 并且有更好的实现。

加在YOUR-LAYER/post-init-dired里面就行。

自己的 layer 的 packages.el 文件中添加 dired package ,然后在 post-init-dired 函数中使用 with-eval-after-load 'dired ,在这里面重新定义快捷键。下面是我重新定义的 company 的快捷键:

  (with-eval-after-load 'company
    ;; 定义 company mode 上下选择补全项时使用 C-n/C-p 替换 M-n/M-p
    (define-key company-active-map (kbd "C-n") #'company-select-next)
    (define-key company-active-map (kbd "C-p") #'company-select-previous)))