假设我有这样的代码:
{
"type" : "home",
"number":"212 555-1234"
}我希望我的emacs在某些模式下自动在冒号后面插入空格。特别是,我使用的是基于cc-mode的javascript-mode。它能帮上忙吗?
提前感谢。
发布于 2011-10-31 22:58:18
要做到这一点,最简单的方法是这样(在.emacs中):
(defun my-js-hook ()
(local-set-key ":" '(lambda () (interactive) (insert ": "))))
(add-hook 'js-mode-hook 'my-js-hook)更复杂的替代方案包括yasnippet或skeleton mode。对于这种简单的东西来说,它们可能有些夸张,但如果您想要更复杂的模板,它们是很有用的工具。
编辑:我不知道有任何抄送模式的魔法,允许在评论中有不同的行为。我不经常使用cc-mode,但我在手册中看不到任何明显的东西。这里有一小段代码,可以做你想做的事情:
(defun my-js-hook ()
(local-set-key ":"
'(lambda ()
(interactive)
(let ((in-comment-p))
(save-excursion
(setq in-comment-p (comment-beginning)))
(if in-comment-p
(insert ":")
(insert ": "))))))https://stackoverflow.com/questions/7953897
复制相似问题