Skip to content
On this page

Vim에서 클립보드로 복사 붙여넣기

수정하기
문서 생성 2023-11-07 21:47:01 최근 수정 2023-11-07 22:03:36

Vim에서 복사 붙여넣기

Vim에서 복사 붙여넣기를 하려고 y, p를 사용하더라도 다른 애플리케이션에는 해당 값을 사용할 수 없었다.

y로 복사한 뒤 d로 삭제를 하고 p를 사용하면 y로 복사한 값이 아닌 d로 삭제한 값이 붙여넣어진다. 그럼 yd를 사용할 때 데이터가 같은 공간에 저장되는 것이다. 이를 unnamed register라고 부른다.

원래 편집을 위한 일련의 명령들을 실행할 때 레지스터 이름을 지정해줄 수 있다고 한다. 다음과 같이 "로 시작하고 레지스터 이름을 지정할 문자를 입력하면 된다.

"1y
"2y

붙여넣을 땐 해당하는 레지스터 이름을 지정해서 명령어를 실행하면 된다.

"2y
"2p

따라서 yp는 레지스터 이름을 지정하지 않고 실행했기 때문에 데이터를 unnaemd register(이름없는 레지스터)에 저장하는 것이다.

클립보드로 복사 붙여넣기

Vim의 레지스터가 아닌 운영체제의 클립보드에 저장해야 Vim이 아닌 애플리케이션에서 해당 데이터를 사용할 수 있다.

이를 위해서 Vim은 클립보드를 가리키는 레지스터 이름을 지정해놨다. 바로 *+다. 그래서 클립보드로 복사를 위해서는 "*y, 클립보드 내용을 vim에 붙여넣으려면 "*p를 사용하면 된다.

매번 입력하는 것은 귀찮으므로 .vimrc에 다음과 같이 지정하자.

vmap <C-c> "+y
nmap <C-b> "+p

references