E se:
(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))
Coloque isso no seu ~/.emacs
e você poderá usar M-x replace-smart-quotespara corrigir todas as cotações no buffer atual ou na região selecionada.
Para evitar reiniciar o Emacs para que a ~/.emacs
alteração entre em vigor, mova o cursor para o final do defun
com M-C-ee avalie-o C-x C-e.
Atualizar comentário re:
Para fazer isso automaticamente ao puxar (colar), você pode fazer algo como o seguinte:
(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)))
Se você quiser fazer isso quando clicar C-y, poderá vinculá-lo usando:
(global-set-key (kbd "C-y") 'yank-and-replace-smart-quotes)
Provavelmente, é uma idéia melhor usar outra chave (talvez C-c y), pois isso usará algumas das yank
funcionalidades padrão .