Post

vscode <=> 옵시디언으로 코드를 복붙할 때 문제점

해결방안

복사 한 다음에 붙여넣을 때 ctrl + v 말고, “ctrl + shift + v”로 코드를 붙여 넣어보세요.


노션에서 옵시디언으로 옮긴지 3개월차.

그전까지는 웹으로 노션을 이용했는데, 가끔가다 메모리가 부족해서 그런지.. 이미지 로딩이 안 될 때가 많아서 옵시디언으로 옮겼다.

알고리즘 문제를 푼 다음에 vscode에 있는 코드를 옵시디언으로 옮길 때마다 불편한 점이 있었다.

그것은 바로 1. 옵시디언에서 코드를 볼 때 불필요한 공백이 생긴다는 것.

그리고 2. 옵시디언에 있는 코드를 복사해서 다시 vscode로 옮길 때도 불필요한 공백이 생긴다는 점.

아니.. 대체 왜 이런 문제가 발생하는 것인가?

alt text

일단 첫번째 문제는 뭐 그냥 공백 있어도 코드를 읽는데는 지장이 없으니까 ㅋ 이냥저냥 살고있었다.

근데 두번째 문제는 ㄹㅇ 열이 뻗쳤다. 왜냐면 코드에 불필요한 공백(\u00a0)이 있을 경우엔 코드 실행 자체가 안 되기 때문이다.

나는 평소에 문제를 풀고 제출했는데, 정답이 아니면 지피티한테 힌트만 달라고 하고 디버깅을 해보는 편이다.

그래서 오답 코드를 순차적으로 옵시디언에 옮겨놓으면서 비교해보는데, 이 과정에서 처음 작성했던 코드를 갖고와서 다시 실행해보고 싶은 경우가 겁나 많다.

그리고 당연히 이런 경우 말고도, 다른걸 정리했을 때도 복사해서 써야되는 경우가 있을 것이다.

근데 매번 이럴때마다 vscode에서 이딴 오류가 뜨는것이다.

Image

원래는 이 글을 보고 ctrl + H를 누른 다음, [\xa0]을 공백으로 치환했는데

이것도 한두번이지.. 계속하면 귀찮고 열받는다.

alt text

cf. \xa0과 \u00a0의 차이

참고로 \xa0과 \u00a0의 차이점은 표기법의 차이이다.

  • \x
    • 16진수 2자리
  • \u
    • 16진수 4자리

그래서 vscode에서 보여주는 오류 그대로인 \ua0을 검색해서 공백으로 치환하려고 하면, 올바르지 않은 정규식이라고 뜬다. » 2자리가 부족하기 때문이다.

근데 왜 vscode ui상에서는 이렇게 보여주는건진 모르겠음ㅎ

따라서 nbsp를 치환해주려면 “\xa0” 또는 “\u00a0”을 입력해야 된다.

쨌든 이렇게 지우면서 살고 있었는데, 갑자기 이게 너무 귀찮아서 오늘 해결방법을 계속 구글링 해봤다.

근데 나는 항상 두번째 문제 «옵시디언에 있는 코드를 복사해서 다시 vscode로 옮길 때도 불필요한 공백이 생긴다는 점»가 불편했으니, 검색도 두번째 문제로 했다.

근데 도통 해결방안을 찾기가 힘들었다.

그러다 첫번째 방법으로 검색해봤는데, ctrl + shift + v로 붙여넣기를 해보라는 것이다.

그래서 해봤는데…

아니. 이 모든 문제가. 해결되는 것 아니겠는가..

alt text

ctrl + v 와 ctrl + shift + v는 무슨 차이점이 있는걸까?

(Ctrl + V) VS (Ctrl + Shift + V)

  • Ctrl + V
    • 기본적인 붙여넣기 기능.
    • 복사한 내용의 원본 서식과 텍스트를 모두 유지하며 붙여넣음.
  • Ctrl + Shift + V
    • 서식 없는 붙여넣기(Paste without formatting) 또는 특수 붙여넣기
    • 복사한 내용의 텍스트만 붙여넣고 서식은 제거함.

그래서 결론은..

옵시디언은 마크다운(md) 형식의 노트앱이니,

vscode에서 복사한 코드를 그냥 바로 붙여넣으면 불필요한 공백(원본 서식)이 같이 딸려온다.

따라서 서식은 제거하고 텍스트만 붙여넣는 ctrl + shift + v 단축키를 활용해서 붙여넣기를 하면,

md에서도 호환성이 유지되는 것이다.

This post is licensed under CC BY 4.0 by the author.