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.