spacemacs 怎么覆盖org mode的快捷键,想用M-j 执行pyim-convert-string-at-point


#1

我添加了chinese layer,想用里面的pyim包,我分别用了下面两种方式加在.spacemacs的user-init和user-config里,在其他文件中都可以M-j触发中文,比如python都可以用,但是在org文件中按M-j触发的还是orgmode自身的快捷键.

(global-set-key (kbd "M-j") 'pyim-convert-string-at-point)
(define-key evil-insert-state-map (kbd "M-j") 'pyim-convert-string-at-point)

在打开org文件之后,进入insert模式,按M-j触发的还是orgmode的快捷键

spacemacs 怎么覆盖org mode自身的快捷键呢?


#2
(global-set-key (kbd "M-j") 'pyim-convert-string-at-point)

亲测这一句放在 user-config 中即可, 还有 M-j 是 Emacs 的快捷键吧和 orgmode 应该没啥关系…


#3

咦,我就是这样设的不行 ,你是这样设置之后在org文件中也可以??还是只在其他文件可以?我是只有在org文件中不行,其他文件也可以

C-h k -> M-j

orgmode也覆盖了M-j这个快捷键的

M-j runs the command org-metadown, which is an interactive compiled Lisp
function in ‘org.el’.

It is bound to M-j, <insert-state> M-j, <visual-state> M-j, <normal-state> M-j,
<M-down>, ESC <down>, <menu-bar> <Org> <Edit Structure> <Move Subtree Down>,
<menu-bar> <Tbl> <Row> <Move Row Down>.

(org-metadown &optional ARG)

Move subtree down or move table row down.
Calls ‘org-move-subtree-down’ or ‘org-table-move-row’ or
‘org-move-item-down’, depending on context.  See the individual
commands for more information.

#4

这应该是 evil 的问题, 我用的 hybrid 模式, vim 下 M-jorg-metadown, emacs 下是换行, 覆盖后 vim 下还是 org-metadown, emacs 下是拼音转换. 看了下 org layer 的文档, 的确 spacemacs 覆盖了 M-j