Vim을 사용하여 X11(복사) 클립보드에 복사하는 경우 "+y
Vim이 열려 있는 동안에만 내용을 붙여넣을 수 있습니다. 이유는 다음과 같습니다.
~에서우분투 위키: 클립보드 지속성:
이 문제는 Xorg가 복제에 보수적인 접근 방식을 사용하기 때문에 발생합니다. 사용자가 선택이나 복사를 수행하면 원본 데이터에 대한 참조만 복사됩니다. 사용자가 붙여넣기를 요청할 때까지 소스 프로그램에서 실제 데이터를 검색하지 않습니다. 이렇게 하면 불필요한 데이터 전송이 많이 절약되지만, 클립보드를 다른 곳에 저장하지 않는 닫힌 프로그램에서 데이터를 검색할 수 없다는 비용이 발생합니다.
즉, Vim을 종료한 후 참조가 유효하지 않기 때문에 X11은 더 이상 Vim에서 데이터를 검색할 수 없습니다.
X11의 "한계"를 극복하고 Vim이 종료된 후 예를 들어 클립보드 관리자를 사용하여 X11(복사) 클립보드를 붙여넣는 방법은 무엇입니까?
궁극적으로 내가 원하는 것은 다음과 유사한 동작입니다.
Freedesktop의 ClipboardManager 사양은 이 문제를 해결할 수 있습니다. Gnome 설정 데몬은 모든 복사 및 붙여넣기를 처리하는 Ubuntu의 기본 구성 요소이며 이를 통해 응용 프로그램은 클립보드 내용을 안전한 장소에 저장하도록 명시적으로 요청할 수 있습니다.애플리케이션은 종료하기 전에 저장을 요청하여 이에 따릅니다. 종료하기 전에 모든 것이 해결되었으며 데이터가 손실되지 않습니다..
clipmenu
권장되지만 데비안 패키지로 사용할 수 없습니다. 또한 클립보드는 종료 시 autocutsel
사용되거나 보존되지 않습니다 .autocutsel -selection PRIMARY -fork
autocutsel -selection CLIPBOARD -fork
답변1
그 페이지말씀하신 날짜는 2010년 입니다.
저는 vim 8.1을 사용하고 있는데 잘 작동합니다.
GUI가 설치된 vim 버전을 사용하고 있습니까? 표시 활성화된 기능을 사용하세요 :version
. +clipboard
표시되어야 합니다.
이것을 테스트하기 위해 설치했습니다 vim-gtk3
(vim-tiny에는 클립보드 기능이 활성화되어 있지 않으며 -clipboard
.
우분투 20.04.02를 사용하고 있습니다
---수정--댓글에 답글 달기
방금 꼼꼼히 확인했어요
vim.gtk3 - 유효함
vim.tiny - 실패
나는 다음 순서를 사용하여 줄을 잡아 당깁니다: "+yy
다음 순서를 사용하여 붙여넣었습니다. "+p
:버전 VIM - Vi 개선된 8.1(2018년 5월 18일 컴파일, 2021년 9월 20일 11:42:42) 포함된 패치: 1-2269 편집자[이메일 보호됨] 컴파일러[이메일 보호됨]
[두 번째 편집] 초기 두 테스트와 후속 세 번째 테스트에 대한 추가 설명입니다.
처음에는 2가지 테스트를 해봤는데
제1터미널의 테스트 1
- vim 실행
- 다음 순서대로 전선을 당겨주세요"+yy
- vim 종료
- vim 실행
- 다음으로 줄 붙여넣기"+p
제1터미널의 테스트 2
- vim 실행
- 다음 순서대로 전선을 당겨주세요"+yy
- vim 종료
- 두 번째 터미널에서 vim을 실행하세요.
- 다음으로 줄 붙여넣기"+p
제1터미널의 테스트 3
- vim 실행
- 다음 순서대로 전선을 당겨주세요"+yy
- vim 종료
- 달리기
cat
- 다음으로 줄 붙여넣기CTRL+Shift+v
vim.gtk3을 사용하면 모든 테스트가 작동합니다.
[편집 3] 링크 추가아시캐스트 데모
웨이랜드가 아닌 X11을 사용하고 있습니다
echo $XDG_SESSION_TYPE
x11