복사 / 붙여 넣기에서 스마트 따옴표를 제거하는 방법?


13

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를 다시 시작하지 않으 려면 커서를 defunwith 의 끝으로 이동하여 M-C-e평가하십시오 C-x C-e.

댓글 업데이트 :

yanking (붙여 넣기) 할 때이 작업을 자동으로 수행하려면 다음과 같은 작업을 수행 할 수 있습니다.

(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
당신도 그렇게 할 수 있습니다, 나는 예를 추가했습니다. 문제가 해결되면 답변을 수락하는 것을 잊지 마십시오.
Tom
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.