Firefox에서 xclip이 텍스트를 Gmail로 복사하면 줄 바꿈이 공백으로 바뀌는 이유는 무엇입니까?

Firefox에서 xclip이 텍스트를 Gmail로 복사하면 줄 바꿈이 공백으로 바뀌는 이유는 무엇입니까?

xclip을 사용하여 텍스트를 복사하는 텍스트 편집기를 만들었습니다. xclip에서 복사한 텍스트(ctrl+v를 사용하여 일반적인 방법으로 붙여넣음)를 Firefox 54.0(64비트)에서 작성 중인 Gmail 이메일에 붙여넣을 때 모든 줄바꿈이 공백으로 대체되는 것을 발견했습니다(해당되는 경우). 행에 여러 줄 바꿈이 있으면 모든 줄 바꿈이 하나의 공백으로 병합됩니다. 다른 곳에 붙여넣으면 이런 문제가 발생하지 않습니다. 그러나 Leafpad와 같은 곳에서 복사하여 Firefox의 Gmail 이메일에 붙여넣으면 줄 바꿈이 유지됩니다. Chromium 웹 브라우저의 Gmail에는 동일한 문제가 발생하지 않습니다.

왜 이런 일이 발생하며 개행 문자가 제거되지 않도록 수정할 수 있는 방법이 있습니까?

저는 Xubuntu 16.10(64비트)에서 xclip 0.12를 사용하고 있습니다. 다음은 텍스트를 복사하는 데 사용하는 명령입니다.

xclip -selection clipboard [seeBelow]

위의 [아래 참조]에 텍스트를 삽입하기 위해 다음 Python 코드 줄을 사용합니다.

subprocess.Popen(command, stdin=subprocess.PIPE).communicate(text.encode());

저는 Python3 Tkinter 여러 줄 텍스트 위젯(글쎄, 텍스트를 상속하는 위젯이고 우리의 목적에 따라 실제로 동일해야 함)에서 텍스트를 복사하고 있습니다.

이 문제는 Firefox의 Gmail에서만 발생하는 것 같습니다. 그런데 저는 에디터에서 이메일을 자주 쓰다보니 자주 붙여넣기를 좋아하는 곳이 바로 이곳입니다.

답변1

이것도 한동안 나를 미치게 만들었다. 다양한 소스에서 복사하여 붙여넣을 수 있지만, xclip또는 (NeoVim GUI) 의 모든 항목으로 인해 nvim-qt줄 바꿈이 공백으로 축소됩니다. 그런데 Slack과 Rocket Chat에서는 동일한 문제가 발생하지만 Stack Exchange에서는 발생하지 않는 것 같습니다. 한편, 동일한 텍스트 영역에서 브라우저 내 vim 복제본에는 wasavi반대 문제가 있습니다. 모든 줄 바꿈이 두 배가 됩니다.

내 해결책은 간단한 대체품을 사용하는 것이었습니다 xclip. Python 2.7에서 테스트한 코드는 다음과 같습니다.

#!/usr/bin/env python

import pyperclip   # pip install --user pyperclip
import sys

filename = sys.argv[1]

with open (filename) as f:
    pyperclip.copy (f.read ())

마찬가지로 를 사용하여 클립보드에서 텍스트를 추출할 수 있습니다 s = pyperclip.paste().

답변2

방금 Ctrl+V가 Firefox에서 붙여넣고 새 줄을 공백으로 바꾸는 동안 Ctrl+Shift+V가 새 줄을 그대로 유지한다는 것을 발견했습니다.

관련 정보