tmux를 사용하여 단일 명령/키로 복사하여 붙여넣기

tmux를 사용하여 단일 명령/키로 복사하여 붙여넣기

저는 터미널 버퍼에서 파일 이름을 선택하는 tmux-copycat 플러그인을 정말 좋아하지만, 이 플러그인을 더욱 좋게 만드는 한 가지는 하나의 명령(바람직하게는 키에 바인딩됨)을 ​​사용하여 모든 것을 복사하고 붙여 넣을 수 있는 기능입니다.

이 작업을 수행할 수 있는 기존 명령을 알지 못하므로 몇 가지 트릭이 필요한 것 같습니다. 솔루션을 어디서부터 시작해야 할지에 대한 제안이 있으십니까?

답변1

tmux원하는 작업을 수행하는 몇 가지 명령이 있습니다 . 이를 새로운 단축키(아마도 접두사 키 명령)에 바인딩해야 합니다.

현재 복사 모드에 있고 일부 텍스트가 선택되어 있다고 가정해 보겠습니다. 명령줄(보통 - 접두사가 붙음 :)로 이동하여 다음을 입력합니다.

send-keys -X copy-selection-and-cancel ; paste-buffer 

이는 정확히 말하는 대로 수행됩니다. 선택 항목을 붙여넣기 버퍼에 넣고 복사 모드를 취소한 다음 붙여넣기 버퍼 내용을 셸 명령줄(또는 복사 모드에 들어갈 때 있던 위치)에 붙여 넣습니다.

이제 tmux.conf 파일에서 이와 같은 명령을 사용하여 선택한 키에 이러한 명령을 바인딩할 수 있습니다.

bind-key X send-keys -X copy-selection-and-cancel \; paste-buffer 

직접 실행하는 것과 유일한 차이점은 이스케이프가 필요하다는 것입니다 ;. 다음에 복사 모드에서 일부 텍스트를 선택할 때 해당 키 바인딩을 누르면 올인원 복사-붙여넣기 단축키가 제공됩니다.

약간 조정해야 할 수도 있습니다. 예를 들어 -t target-page옵션을 사용하여 paste-buffer현재 창 이외의 위치에 붙여넣을 수 있습니다 . tmux아이디어를 얻으려면 매뉴얼 페이지에서 두 명령에 대한 문서를 확인하십시오 .

관련 정보