1

虽然我真的很喜欢 PyCharm,但我想真正学习如何在 emacs 中做到这一点。当我清理 pep8 违规尤其是长行违规时,我真的很欣赏 PyCharm 自动引用行尾或添加我通常在 emacs 中手动执行的任何其他内容的能力。emacs中是否有一个插件可以做到这一点?例如:

从:

output_string += '<table border="1"><tr><th>Column</th> <th>Type</th> <th>Required</th></tr>'

当我在以下行中添加新行时,它将自动添加所需的行尾:

output_string += '<table border="1"><tr><th>Column</th> <th>Type</th> ' \ 
88                           '<th>Required</th></tr>'
4

1 回答 1

1

添加到您的设置:

(defun python-newline ()
  (interactive)
  (let ((char (car (inside-string?))))
    (if char
      (progn
        (insert (format "%c \\" char))
        (newline-and-indent)
        (insert (format "%c" char)))
      (newline))))

(add-hook
 'python-mode-hook
 (lambda()
   ;; ...
   (define-key python-mode-map (kbd "RET") 'python-newline)))

(defun inside-string? ()
  (interactive)
  (let ((p (nth 8 (syntax-ppss))))
    (memq (char-after p) '(?\" ?\')))) 
于 2013-10-04T10:18:31.847 回答