evernote에서 복사해서 emacs에 붙이면 따라오는 이상한 문자 제거

/emacsian/assets/2022-02-10-unevernotify-00.jpg

evernote에 적은 코드를 emacs에 붙인다. 이상한 게 보인다. 배경색보다 좀 더 밝은 스페이스 같다. 마치 들여쓰기를 표시해주는 것처럼 보인다.

어떤 문자인지 알아야겠다. 해당 위치로 커서를 옮긴다. M-x describe-char 커맨드를 입력한다.

              position: 770 of 890 (86%), column: 2
            character:   (displayed as  ) (codepoint 160, #o240, #xa0)
              charset: unicode (Unicode (ISO10646))
code point in charset: 0xA0
               script: latin
               syntax: . 	which means: punctuation
             category: .:Base, b:Arabic, j:Japanese, l:Latin
             to input: type "C-x 8 RET a0" or "C-x 8 RET NO-BREAK SPACE"
          buffer code: #xC2 #xA0
            file code: #xC2 #xA0 (encoded by coding system utf-8-unix)
              display: by this font (glyph code)
    mac-ct:-*-Consolas-normal-normal-normal-*-14-*-*-*-m-0-iso10646-1 (#x03)
       hardcoded face: nobreak-space

‘줄 바꿈 없는 공백(no-break space)’이다. 언제 삽입됐는지 모르겠다. 코드를 바로 evernote에 적었을 리는 없을 테고 emacs에서 테스트하고 복사해서 evernote에 붙이면 이런 문자가 삽입되나? 아무튼 이미 이런 문자들이 삽입된 evernote 글이 많으니 제거하는 emacs 함수를 작성한다.

(defun unevernotify ()
  (interactive)
  (while (re-search-forward "\u00a0" nil t)
    (replace-match " "))
  )

M-x unevernotify 명령을 입력하면 ‘줄 바꿈 없는 공백’을 공백으로 바꾼다. 이게 어쩌면 evernote 탓이 아닐 수도 있는데, 좀 억울할 수도 있겠다.

C-x C-s C-x C-c


크리에이티브 커먼즈 라이선스


Published: February 10 2022


Feedback plz <3 @ohyecloudy, ohyecloudy@gmail.com