spacemacs添加major mode的key binding

这里写自定义目录标题

Latex Extra为例

以latex-mode为例,有时希望跳到previous section或者next section。可以下载latex-extra.el (github),这个很久没有更新了。在.spacemacs的user-config中,(load-file “~/.emacs.d/latex-extra.el”), 原本latex-extra需要添加minor-mode到latex-mode中。
latex-extra中的binding和spacemacs是重叠的,我暂时修改了latex-extra中setup函数:

(defun latex/setup ()
  "Prepare all latex-extra features."
  (add-hook 'latex-extra-mode-hook #'latex/setup-auto-fill)
  (add-to-list 'LaTeX-clean-intermediate-suffixes "\\.tdo") ;todonotes package
  (add-to-list 'LaTeX-clean-intermediate-suffixes "Notes\\.bib") ;revtex package
  (spacemacs/declare-prefix-for-mode 'latex-mode "j" "jump")
  (spacemacs/set-leader-keys-for-major-mode 'latex-mode "jp" 'latex/up-section)
  (spacemacs/set-leader-keys-for-major-mode 'latex-mode "jn" 'latex/next-section)
  (spacemacs/set-leader-keys-for-major-mode 'latex-mode "jh" 'latex/previous-section-same-level)
  (spacemacs/set-leader-keys-for-major-mode 'latex-mode "jl" 'latex/next-section-same-level)

  ;; (if (null latex/override-fill-map)
  ;;     (define-key latex-extra-mode-map "" nil)
  ;;   (define-key latex-extra-mode-map "" #'latex/clean-fill-indent-environment))
  ;; (if (null latex/override-font-map)
  ;;     (define-key latex-extra-mode-map "" nil)
  ;;   (message "%S changed to \"C-c f\"." 'TeX-font)
  ;;   (define-key latex-extra-mode-map "" #'latex/next-section-same-level)
  ;;   (define-key latex-extra-mode-map "f" #'TeX-font))
  ;; (latex/-rebind-font-list)
  ;; (if (null latex/override-preview-map)
  ;;     (define-key latex-extra-mode-map "" nil)
  ;;   (message "%S changed to \"C-c p\"." 'preview-map)
  ;;   (define-key latex-extra-mode-map "" #'latex/previous-section)
  ;;   (define-key latex-extra-mode-map "p" preview-map))
  )

我的spacemacs中的latex-mode没有j的binding,因此这里我用了j key。

结果

打开一个tex文件,用逗号激发菜单可以看到新的key binding (,j/,jp/,jn etc)

在这里插入图片描述
j prefix
在这里插入图片描述

Conclusion

可以看到首先declare-prefix-for-mode,然后set-leader-keys-for-major-mode,就可以添加key binding到某个major mode中。(SPC m或者,激发)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值