유틸리티

vim 에디터에서 파일 복사해서 붙여넣는 요령

easyfly 2025. 7. 14. 14:33
반응형

 

vim 에디터에서 파일 복사해서 붙여넣는 요령

개발을 하다 보면 원격 서버의 터미널에서 vim을 사용하여 코드를 편집할 때가 많습니다. 이럴 때 vim 안에서 작성한 코드를 다른 프로그램이나 웹페이지에 복사해 붙여넣기 하려면 몇 가지 요령이 필요합니다. 이번 글에서는 vim을 사용할 때 텍스트를 복사하고 붙여넣는 가장 실용적인 방법을 정리해 드리겠습니다.


✅ 1. 기본 복사 방식의 한계

vim은 기본적으로 마우스 복사를 방해합니다. 이유는 마우스 동작을 vim이 자체적으로 가로채기 때문입니다. 그래서 터미널 상에서는 마우스로 드래그해서 복사하려 해도 제대로 선택되지 않거나, 커서만 움직이는 경우가 많습니다.


✅ 2. 마우스로 복사하려면 set mouse-=a

📌 해결법

:set mouse-=a

이 명령은 vim이 마우스를 가로채지 않도록 설정해 주는 것입니다.

  • : → 명령 모드 진입
  • set mouse-=a → 마우스 입력을 모두 비활성화

이렇게 설정하면 vim 바깥의 터미널 기능이 살아나므로, 마우스로 드래그하여 텍스트를 선택할 수 있게 됩니다.

📌 복사 방법

  • 마우스로 텍스트 드래그
  • 우클릭 → 복사 (또는 Ctrl + Shift + C)
  • 다른 곳에 붙여넣기 (예: 블로그, 문서, ChatGPT 창 등)

✅ 3. cat 명령어로 복사하는 방법

vim이 아니라 터미널에서 바로 파일 내용을 보고 복사하고 싶다면 cat 명령어를 사용합니다.

cat pybo/views.py

파일 내용이 터미널에 전부 출력되면, 마우스로 원하는 부분을 드래그해서 복사하면 됩니다.

cat 명령을 이용하여 복사하는 방법


✅ 4. vim 클립보드 연동 (+clipboard)

어떤 서버에서는 vim이 클립보드를 지원하지 않을 수도 있습니다. 클립보드 기능을 확인하려면 아래 명령을 입력합니다.

vim --version | grep clipboard
  • +clipboard 가 나오면 클립보드 지원됨
  • -clipboard 가 나오면 클립보드 기능 없음

이 기능이 있으면 아래처럼 복사도 가능합니다:

"+y

하지만 서버 환경에서는 대부분 -clipboard 상태이므로, 마우스로 복사하거나 cat을 활용하는 쪽이 실용적입니다.


✅ 5. 복사에 실패하지 않는 요령

  • vim 안에서는 set mouse-=a로 마우스 활성화
  • 그래도 잘 안되면 cat으로 출력 후 복사
  • 긴 파일은 less로 나눠서 볼 수도 있음 (less views.py)

✍ 마무리

서버 환경에서 vim을 사용하다 보면 파일을 다른 곳에 옮겨야 할 일이 종종 있습니다. 이럴 때 위와 같은 방법으로 마우스 복사를 가능하게 만들고, 편리하게 붙여넣을 수 있습니다.
특히 블로그에 코드 올릴 일이 많은 분들께 꼭 필요한 팁이니, 한 번 익혀두시면 작업 효율이 크게 올라갈 것입니다.