电对模式和Python三重引号

时间:2013-10-30 07:23:36

标签: python emacs

有没有办法在电子配对模式下启用自动配对Python三重引号?

可以使用autopair-python-triple-quote-action在autopair模式下配置。是否有类似的方法在电对模式下启用它?

1 个答案:

答案 0 :(得分:6)

您可以执行以下操作:

(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的下一个版本中。