假设你有
<Foo>
<Bar>
hello
</Bar>
</Foo>
当我在<Foo>
附近时,我想去</Foo>
,反之亦然。
简单的请求,但是对我来说却很难实现。
forward-sexp
(不确定它来自何处)可以正常转发,但向后backward-sexp
不能很好地工作
答案 0 :(得分:0)
C-c C-f
(绑定到sgml-skip-tag-forward
)和C-c C-b
(绑定到sgml-skip-tag-backward
)在mhtml-mode
中似乎可以正常工作。您在编辑React.js代码时可能正处于js3-mode
中,因此您可以切换到mhtml-mode
(可能不希望如此),也可以将以上命令绑定到{{1}中的便捷键}键图:
js3-mode
因为(define-key js3-mode-map (kbd "C-c C-c C-f") 'sgml-skip-tag-forward)
(define-key js3-mode-map (kbd "C-c C-c C-b") 'sgml-skip-tag-backward)
是C-c C-c
中的前缀。
编辑:OP表示他正在使用js3-mode-map
,而不是rjsx-mode
,这需要对上述内容进行细微更改。主要区别在于需要修改js3-mode
而不是rjsx-mode-map
。另一个区别是js3-mode-map
并未将rjsx-mode-map
定义为前缀键,因此必须将键绑定更改为其他名称,或者在此映射中也将C-c C-c
设为前缀键-这是后者的一种方法:
C-C C-c
如果要永久更改,则创建一个执行这三件事的函数,并将其添加到init文件的(let ((foo (make-sparse-keymap)))
(define-key rjsx-mode-map (kbd "C-c C-c") foo))
(define-key rjsx-mode-map (kbd "C-c C-c C-f") 'sgml-skip-tag-forward)
(define-key rjsx-mode-map (kbd "C-c C-c C-b") 'sgml-skip-tag-backward)
中。