як видалити розумні лапки в копіювати / вставити?


13

Я копіюю текст із Google Chrome чи PDF-файлів та вставляю в Emacs.

Оригінальний текст має розумні лапки. Я не хочу розумних цитат у висновку.

Чи є спосіб, як на стороні копіювання, так і на стороні, що вставляється, автоматично викреслити розумні котирування?



Ця ж проблема виникає при копіюванні з різних текстових редакторів на OS X, коли ввімкнено системний параметр «використовувати розумні лапки». Зокрема, я зіткнувся з цим під час копіювання з Evernote на веб-форму, яка потім позбавила всіх "розумних" лапок і апостроф повністю. Прийнята відповідь дала чіткий проміжний крок для вирішення цього питання.
TheBamf

Відповіді:


14

Як на рахунок:

(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.


Дякую. А як щодо функції, яка зніме лапки під час копіювання / вставки? На кшталт "Вставлення та відповідність форматування" з викресленням розумних лапок.
лампа розжарювання

2
Ви теж можете це зробити, я додав приклад. Не забудьте прийняти відповідь, якщо вона вирішить вашу проблему.
Том
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.