2011-10-31 40 views

回答

4

這樣做會是這樣的(在你的.emacs)最簡單的方法:

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

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

更先進的替代方案包括yasnippetskeleton mode。如果你想要更復雜的模板,它們可能是過於簡單的東西,但卻是有用的工具。

編輯:我不知道任何cc模式的魔法,允許評論內部的不同行爲。我不使用cc模式,但在手冊中沒有看到任何明顯的內容。這裏有一些代碼可以做你想要的:

(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 ": ")))))) 
+0

謝謝你的重播。這看起來不錯,但也會覆蓋評論的行爲。我特別詢問了cc模式,因爲我相信它可以用一些cc模式的魔法來完成(我相信他們有這個功能,因爲這個項目自1992年以來就存在) –

+0

我添加了一些代碼來解決這個問題。 – Tyler

+0

你讓我的一天:-)看起來像是從=開始autoformat小模式的東西。但我不明白這一行: (save-excursion(setq in-comment-p(comment-beginning)))。爲什麼我們不能初始化它? –

相關問題