首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Emacs:如何在cc-mode派生函数中自动在冒号后插入空格

Emacs:如何在cc-mode派生函数中自动在冒号后插入空格
EN

Stack Overflow用户
提问于 2011-10-31 20:46:40
回答 1查看 486关注 0票数 5

假设我有这样的代码:

代码语言:javascript
复制
{
  "type"  : "home",
  "number":"212 555-1234"
}

我希望我的emacs在某些模式下自动在冒号后面插入空格。特别是,我使用的是基于cc-mode的javascript-mode。它能帮上忙吗?

提前感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-31 22:58:18

要做到这一点,最简单的方法是这样(在.emacs中):

代码语言:javascript
复制
(defun my-js-hook ()
  (local-set-key ":" '(lambda () (interactive) (insert ": "))))

(add-hook 'js-mode-hook 'my-js-hook)

更复杂的替代方案包括yasnippetskeleton mode。对于这种简单的东西来说,它们可能有些夸张,但如果您想要更复杂的模板,它们是很有用的工具。

编辑:我不知道有任何抄送模式的魔法,允许在评论中有不同的行为。我不经常使用cc-mode,但我在手册中看不到任何明显的东西。这里有一小段代码,可以做你想做的事情:

代码语言:javascript
复制
(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 ": "))))))
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7953897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档