Як на рахунок:
(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))
Помістіть це у своєму, ~/.emacs
і ви повинні мати можливість M-x replace-smart-quotesвиправити всі лапки в поточному буфері або вибраній області.
Щоб уникнути перезавантаження Emacs для ~/.emacs
зміни вступили в силу, перемістіть курсор до кінця defun
з M-C-eі оцінити його C-x C-e.
Оновити повторний коментар:
Щоб автоматично зробити це під час приклеювання (вклеювання), ви можете зробити щось на зразок наступного:
(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)))
Якщо ви хочете це зробити під час удару C-y, ви можете зв’язати це за допомогою:
(global-set-key (kbd "C-y") 'yank-and-replace-smart-quotes)
Однак, мабуть, краща ідея використовувати інший ключ (можливо C-c y), оскільки для цього буде використана частина функцій за замовчуванням yank
.