한 tmux 창에서 다른 창으로 텍스트 복사(vim 사용)

한 tmux 창에서 다른 창으로 텍스트 복사(vim 사용)

vim에 각각 tmux 창에 두 개의 파일이 열려 있습니다. 한 파일에서 다른 파일로 10줄을 복사하고 싶습니다.

마우스의 -> 를 사용하지 않고 어떻게 Copy이를 수행 할 수 있습니까 Paste?

답변1

tmux 단축키를 사용해야 합니다. tmux 명령 바로 가기가 기본값인 Ctrl+ b라고 가정하면 다음이 수행됩니다.

  1. Ctrl+ b, [복사(?) 모드로 들어갑니다.

  2. 강조할 텍스트의 시작/끝으로 이동합니다.

  3. Ctrl+Space

텍스트 강조 표시를 시작합니다(Arch Linux의 경우). OSX 및 기타 Linux의 소스에서 tmux를 컴파일하면 Space일반적으로 자체적으로 작동합니다. 선택한 텍스트의 색상이 변경되므로 명령이 작동하는지 알 수 있습니다.

  1. 복사할 텍스트의 반대쪽으로 이동합니다.

  2. Alt+ w선택한 텍스트를 tmux클립보드에 복사합니다.
    Mac에서는 Esc+ 를 사용하세요 w. Enter위의 방법 중 어느 것도 작동하지 않으면 다음을 시도해 보세요.

  3. 커서를 반대쪽 tmux 창으로 이동하거나 완전히 다른 tmux 창으로 이동합니다. 방금 복사한 텍스트를 붙여넣을 위치에 커서를 놓습니다.

  4. Ctrl+ b, ]tmux 클립보드에서 복사한 텍스트를 붙여넣습니다.

tmux명령을 사용자 정의 키보드 단축키에 매핑하는 데 매우 능숙합니다.

설정 키보드 단축키의 전체 목록 Ctrl은 +를 참조하세요 b.?

답변2

안타깝게도 아직 Alex Leach의 답변에 의견을 추가할 수 없으므로 Mac OS X 사용자를 위해 여기에 부록을 추가하겠습니다.

  1. Enter선택한 텍스트 복사

답변3

macOS에서 vim 및 tmux를 사용하는 경우(macOS 10.12.2, tmux 2.3에서 테스트됨):

(tmux의 접두사 키 조합을 이라고 가정하면, 기본 prefix접두사는 ctrl​​+ 입니다.)b

  • 복사:
    1. prefix+를 눌러 [복사 모드로 들어갑니다.
    2. 화살표 키를 사용하여 텍스트 선택의 시작/끝으로 이동합니다.
    3. ctrl+를 누릅니다 ( +를 접두어로 설정 space한 경우 대신 ++를 누릅니다 ).ctrlspacectrlspacespace
    4. 화살표 키를 사용하여 선택 항목의 다른 쪽으로 이동합니다.
    5. ctrl+를 누릅니다 w.
  • 반죽:
    1. 삽입 모드에서 prefix+를 누릅니다.]

답변4

이미 vim열려 있다면 vim 복사-붙여넣기를 사용하여 텍스트를 복사하는 것이 가장 좋습니다.

Tmux 복사-붙여넣기는 작동하지만 몇 가지 단점이 있습니다.

먼저, 여러 줄의 텍스트를 복사할 때는 여러 줄을 선택해야 합니다. Tmux 복사-붙여넣기는 일반적으로 vimvim 여백의 줄 번호나 마커(예: 상대 숫자/절대 숫자)를 이해하지 못합니다 . 결과적으로 이러한 항목도 복사됩니다.

둘째, 텍스트에 언어별 서식이 있고 tmux를 사용하여 vim에 직접 복사하여 붙여넣으려고 하면 서식이 엉망이 된다는 사실을 발견했습니다. 이는 을 사용하여 방지할 수 있습니다 set paste!. 그러나 이를 위해서는 더 많은 작업이 필요합니다.

복사 "+y"+p붙여넣기용

Vim"+y이 시스템 은 또는 를 사용하여 vim 버퍼와 시스템 클립보드 간에 복사하여 붙여넣는 방법을 제공합니다 "*y. 그런 다음 또는 를 사용하여 "+p붙여넣습니다 "*p. 이렇게 하면 여백의 상대 숫자나 vim과 관련 없는 기타 임의 표시가 복사되는 것을 방지할 수 있습니다.

관련 정보