광산에서 작동하는 데 사용되는 다음 코드는 다음과 같습니다 .tmux.conf
.
# Mac OS X:
bind-key -n -t emacs-copy M-w copy-pipe "reattach-to-user-namespace pbcopy"
# Move tmux copy buffer into x clipboard
unbind-key M-w
bind-key -n M-w run "tmux save-buffer - | xclip -i -selection clipboard" \; display-message 'Copying to clipboard'
최근 작동이 중단되어 더 이상 tmux에서 다른 위치로 텍스트를 복사할 수 없습니다. tmux 또는 reattach-to-user-namespace
.
이제 다음과 같은 오류가 발생합니다.
invalid or unknown command: bind-key -n -t emacs-copy M-w copy-pipe
"reattach-to-user-namespace pbcopy"
이것은 내가 사용하고 있는 버전입니다( brew
).
/usr/local/Cellar/tmux/2.4/bin/tmux
/user/local/bin/reattach-to-user-namespace/2.5
무엇이 바뀌었을까요? tmux
시스템에서 복사하는 기능을 어떻게 복원합니까 ?
답변1
다음을 시도해 보십시오:
bind-key -T copy-mode M-w send-keys -X copy-pipe 'reattach-to-user-namespace pbcopy'
알아채다tmux
최근 변경사항주요 테이블:
주요 테이블이 크게 변경되었습니다. 모드 키 테이블은 더 이상 기본 키 테이블과 분리되지 않습니다. 모든 모드 키 테이블과 키 바인딩 및 바인딩 해제를 위한 -t 플래그가 제거되었습니다.
emacs-edit, vi-edit, emacs-choose 및 vi-choose 테이블은 명령 프롬프트 및 선택 모드에서 고정 키 바인딩으로 대체되었습니다. 모드 키 및 상태 키 옵션은 그대로 유지됩니다.
emacs-copy 및 vi-copy 테이블은 copy-mode 및 copy-mode-vi 테이블로 대체되었습니다. send 키에 명령을 보내려면 -X 및 -N 플래그를 사용하십시오. 따라서 다음과 같습니다:
바인딩-temacs-copy C-Up 스크롤 위로 바인딩-temacs-copy -R5 WheelUpPane 스크롤 위로
이 되다:
Bind-Tcopy-모드 C-Up Send-X 위로 스크롤 Bind-Tcopy-모드 WheelUpPane Send-N5 -X 위로 스크롤
이 변경을 통해 전체 명령 파서(명령 시퀀스 포함) 및 명령 세트를 사용할 수 있습니다. 예를 들어, 이제 사용자 정의 명령 프롬프트 대신 검색, 점프 등에 편집 및 기록이 포함된 일반 명령 프롬프트가 사용됩니다. 이제 기본 Cr 바인딩은 다음과 같습니다.
Bind -Tcopy-mode Cr 명령 프롬프트 -p 'search up' "-X 검색을 뒤로 '%%' 보내기"
send -X는 copy-pipe-and-cancel 과 같은 몇 가지 새로운 명령도 제공합니다 .
답변2
Amelio가 다른 답변에서 언급했듯이 tmux
버전은 키보드 단축키 매핑을 처리할 때 이전 버전과 호환되지 않는 획기적인 변경을 거쳤습니다.2.4
vi
키와 버전을 사용하여 복제를 수행하는 방법은 2.6
다음과 같습니다.
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'reattach-to-user-namespace pbcopy'
bind-key -T copy-mode-vi V send-keys -X rectangle-toggle
bind-key -T copy-mode-vi Y send-keys -X copy-end-of-line
유사한 구문을 사용하여 올바른 명령을 직접 바인딩할 수 있어야 합니다.