2013-10-30 64 views
6

有沒有辦法在電子對模式中啓用自動配對Python三重引號?電對模式和Python三重引號

這可以使用autopair-python-triple-quote-action以autopair模式進行配置。有沒有類似的方式在電子對模式下啓用它?

+0

您可能還會看[smartparens](https://github.com/Fuco1/smartparens/wiki)。 – phils

回答

5

你可以做到以下幾點:

(defun python-electric-pair-string-delimiter() 
    (when (and electric-pair-mode 
      (memq last-command-event '(?\" ?\')) 
      (let ((count 0)) 
       (while (eq (char-before (- (point) count)) last-command-event) 
       (setq count (1+ count))) 
       (= count 3))) 
    (save-excursion (insert (make-string 3 last-command-event))))) 

(add-hook 'python-mode-hook 
      (lambda() 
      (add-hook 'post-self-insert-hook 
         #'python-electric-pair-string-delimiter 'append t))) 

這將包括在Emacs的下一個版本。

+0

這完美 - 非常感謝! – calvinyoung

相關問題