2013-10-05 2 views
0

클립 보드를 더 많거나 적게 만들 수있는 두 가지 방법을 알아 냈지만 그 중 어느 것도 내가 원하는대로 정확하게 수행하지 못했습니다. 내가 원하는 것은 복사하여 클립 보드에 붙여 넣기하는 방법이지만 vim에게 그렇게하도록 명시 적으로 지시 할 때만 가능합니다.vim에서 클립 보드를 사용 하시겠습니까?

기본적으로 을 사용하여 시스템 클립 보드에서 붙여 넣을 수 있지만 다른 옵션을 설정하지 않으면 쓰기 방법을 찾을 수 없습니다. 예를 들어 :set guioptions=a이면 "+yf)을 사용하여 클립 보드에 텍스트를 채 웁니다. 그러나, 나는 읽기와 쓰기 모두에 대해 동일한 레지스터를 사용하는 것을 선호합니다. 내가 알 수있는 한, * 레지스터는 읽기 전용이고 + 레지스터는 쓰기 만합니다. (guioptions=a ... 내가 원하는 바가 아닌 시각적으로 선택된 텍스트를 자동으로 복사하는 부작용이있는 경우에만 쓰지 않습니다.)

훨씬 더 가까워 보이는 솔루션 일에 내가 그것을하고 싶은 그러나이 가진 문제는 이제 이름이 레지스터 내 클립 보드입니다, 그래서 내가 x 또는 dd을 할 때마다 내 시스템 클립 보드를 재정의하고있어

:set clipboard=unnamedplus

입니다. 나는 그것을 사용하기 전후에 clipboard을 설정하고 해제함으로써 이것을 제어 할 수 있지만, 최선의 해결책은 될 수 없다.

클립 보드를 unnamedplus과 동등하지만 이름이 지정된 레지스터 대신 사용할 수있는 방법이 있습니까? 나는 set clipboard="*, :set clipboard="*+, :set clipboard="*plus, :set clipboard="0, "0plus"0+을 시도했지만 모두 사용할 수 없습니다. 나는 또한 "을 생략하려고했지만 오류가 반환되었습니다.

Vi IMproved 7.3 (포함 된 패치 1-547, [email protected]으로 수정 됨) buildd @로 컴파일 됨) 내 OS는 Ubuntu 13.04입니다.

답변

3

클립 보드 레지스터에 대해 여러 가지 오해가 있습니다. "*"+의 차이점을 이해하려면 :help x11-selection을 읽어보십시오.

기본적으로, "* 레지스터는 현재 선택을 나타낸다. 마우스로 텍스트를 터미널에 표시 할 때. 또한 "+ 레지스터는 일반적으로 Ctrl + C 및 Ctrl + V로 액세스하는 클립 보드에 해당합니다. MS Windows는 후자 만 가지고 있으며, Linux/X11에서는 두 가지 개념이 있습니다. 너 혼란 스러울지도 몰라. 그리고 예, Vim 내부에서 두 가지 모두 읽고 쓸 수 있습니다 (Vim의 클립 보드 지원이 제대로 작동하고 기본 Ubuntu 패키지에서 제공해야 함).

관련 문제