vim에서 클립 보드에 어떻게 추가합니까?


21

이미 다음을 사용하여 레지스터에 무언가를 복사 할 수 있다는 것을 이미 알고 있습니다 (+ yank, delete 등 명령)

"a

또한 다음을 사용하여 레지스터에 추가 할 수 있음을 이해합니다.

"A

또한 다음을 사용하여 클립 보드 레지스터에 무언가를 복사하는 방법을 이해합니다.

"+

클립 보드 레지스터에 추가하려면 무엇을 입력해야합니까?

내 vim 버전 :

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jan 2 2014 19:39:59) Huge version with GTK2 GUI.

답변:


10

이에 대한 일반 모드 명령은 없지만 간단히 다른 레지스터에 추가 :let하고 클립 보드 레지스터를 해당 레지스터의 내용에 추가 할 수 있습니다 .

"Ay
"Ay
"Ay
:let @+ = @A

1
그것을 내 .vimrc 파일에 넣을까요?
— Jason Basanese

3
let @+ = @A레지스터 유형 을 버립니다 a. 레지스터를 복사하는 올바른 방법은 다음과 같습니다 call setreg('+', getreg('a', 1, 1), getregtype('a')).
— 사토 카츠라

//, 이것이 실제로 추가 됩니까?
— Nathan Basanese

//, 왜 세 개의 "Ay명령 을 나열 합니까?
— Nathan Basanese

4-4 명이었을 것입니다. 단지 예입니다.
— romainl

7

를 호출 할 수는 setreg('+', lines, 'a')있지만 일반 모드 명령으로는 그렇게 할 수있는 방법이 없다고 말할 수 있습니다. 대문자 문자 레지스터 중 하나를 사용해야합니다.


그냥 사용하는 :let @+ .= 'XXX'것 같습니까?
— Martin Tournoij

7
@Carpetsmoker 예, 아니오. vim_dev에 대한 최근 토론이 있었고 일부 조건에서 작동하는 것처럼 보일지라도 분명히 그렇게하지 않아야합니다. 유형 (문자 / 줄 / 블록)을 가진 레지스터 내용과 관련이 있고 문자열 연결이 필요한 부기를 유지하지 않는 것으로 가정합니다. 어쨌든 차이는 없지만 여전히 일반 모드 명령은 아닙니다.
— lcd047
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.