Làm thế nào về:
(defun replace-smart-quotes (beg end)
"Replace 'smart quotes' in buffer or region with ascii quotes."
(interactive "r")
(format-replace-strings '(("\x201C" . "\"")
("\x201D" . "\"")
("\x2018" . "'")
("\x2019" . "'"))
nil beg end))
Đặt nó trong của bạn ~/.emacs
và bạn sẽ có thể sử dụng M-x replace-smart-quotesđể sửa tất cả các trích dẫn trong bộ đệm hiện tại hoặc khu vực được chọn.
Để tránh khởi động lại Emacs để ~/.emacs
thay đổi có hiệu lực, hãy di chuyển con trỏ của bạn đến cuối cùng defun
với M-C-evà đánh giá nó C-x C-e.
Cập nhật lại bình luận:
Để tự động làm điều này khi kéo (dán), bạn có thể làm một cái gì đó như sau:
(defun yank-and-replace-smart-quotes ()
"Yank (paste) and replace smart quotes from the source with ascii quotes."
(interactive)
(yank)
(replace-smart-quotes (mark) (point)))
Nếu sau đó bạn muốn làm điều đó khi bạn nhấn C-y, bạn có thể liên kết nó bằng cách sử dụng:
(global-set-key (kbd "C-y") 'yank-and-replace-smart-quotes)
Tuy nhiên, có lẽ nên sử dụng một khóa khác (có thể C-c y) vì điều này sẽ sử dụng một số yank
chức năng mặc định .