5

次のコードがあるとします。

{
  "type"  : "home",
  "number":"212 555-1234"
}

一部のモードでは、emacs がコロンの後にスペースを自動的に挿入するようにします。特に、私はcc-modeに基づいたjavascript-modeを使用しています。役に立ちますか?

少し早いですがお礼を。

4

1 に答える 1

4

これを行う最も簡単な方法は、次のようなものです(.emacs内):

(defun my-js-hook ()
  (local-set-key ":" '(lambda () (interactive) (insert ": "))))

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

より洗練された代替手段には、yasnippetまたはスケルトンモードが含まれます。これらはおそらくこれほど単純なものにはやり過ぎですが、より洗練されたテンプレートが必要な場合は便利なツールです。

編集:コメント内でさまざまな動作を可能にするccモードの魔法を私は知りません。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 ": "))))))
于 2011-10-31T14:58:17.903 に答える