tmux 전체 버퍼를 클립보드에 복사하는 방법은 무엇입니까?

tmux 전체 버퍼를 클립보드에 복사하는 방법은 무엇입니까?

이제 이 명령을 실행 capture-pane -S -3000하고 다음 키 바인딩을 사용하여 이 작업을 수행할 수 있습니다.

bind C-y run "tmux save-buffer - | clip"

이를 위해서는 , 를 입력 capture-pane -S -3000하고 눌러야 한다는 것을 기억해야 합니다 Ctrl+B.Ctrl+Y

예를 들어 다음과 같이 한 단계로 수행하고 싶습니다.

bind C-y capture-pane -S -3000; run "tmux save-buffer - | clip"

그러나 이것은 작동하지 않습니다.

tmux이상적으로는 버퍼에서 복사할 행 수를 묻는 것이 좋을 것입니다. 예를 들어:

bind C-y capture-pane -S -ASK_HOW_MANY_LINE_TO_INPUT; run "tmux save-buffer - | clip"

Ctrl+B그런 다음 를 누르면 Ctrl+Y3000을 입력하고 Enter를 눌러 마지막 3000줄을 가져옵니다.

답변1

Cy를 바인딩하고 "tmux Capture-pane -pS-|clip"을 실행합니다.

Bind Cy 명령 프롬프트 -p "몇 줄입니까?" '"tmux Capture-pane -pS-%%%|clip" 실행

답변2

정답은 xclip -i대신 사용하는 것입니다 clip:`

bind-key C-y run "tmux capture-pane -pS-|xclip -i"

bind-key C-y command-prompt -p "How many lines?" 'run "tmux capture-pane -pS-%%%|xclip -i"'

tmux하지만 여전히 문제가 많기 때문에 작동하지 않습니다 . 이 기능을 처음 사용한 후 을 누르면 tmux작동이 멈추고 무시되었습니다 .Ctrl+BCtrl+Y

당신은 당신이 사용해보기를 바랍니다https://github.com/tmux-plugins/tmux-yank그러나 SSH를 통해 연결하는 경우에는 이 방법도 작동하지 않습니다. 따라서 이 기능을 사용하지 않고 모든 작업을 수동으로 수행하는 다른 사용자가 할 수 있는 작업은 많지 않습니다.

  1. 마지막 3000개의 기록 레코드를 저장하려면 Ctrl+Be를 입력 Shift+:하고 다음을 입력하여 버퍼 capture-pane -S -3000에 복사합니다 .tmux
  2. 마지막으로 키를 누른 다음 입력하여 Ctrl+B콘솔 Shift+:기록 save-buffer ~/filename.txt을 파일에 저장합니다. tmux현재 경로가 직접적으로 존중되지 않고 어디에도 저장되지 않으므로 절대 경로를 사용해야 합니다 .
  3. 이제 원격 컴퓨터의 파일 내용을 로컬 컴퓨터로 복사해야 합니다. Windows를 사용하는 경우 Filezilla원격 컴퓨터를 사용하거나 연결하면 됩니다.WinSCP

관련 정보