tmux에서 어떻게 스크롤합니까? 할 수 있어야합니다. 마우스와 함께 작동하는지

방금 tmux를 사용하기 시작했고 정말 마음에 들지만 열린 버퍼 / 창 / 창 내에서 스크롤 할 수 있어야합니다. 마우스와 함께 작동하는지 여부는 상관하지 않습니다. tmux 매뉴얼 페이지를 검색 할 때 “scroll”이라는 단어의 두 인스턴스 만 표시되며 둘 다 복사 모드와 관련이 있습니다. 복사 모드로 들어가는 모든 오버 헤드없이 스크롤하는 방법이 있습니까?



답변

Ctrlb다음 [당신은 (. 예를 스크롤하는 일반 내비게이션 키를 사용할 수 있습니다 Up Arrow또는 PgDn). 누르면 q스크롤 모드가 종료됩니다.

또는 Ctrlb PgUp를 눌러 복사 모드로 직접 이동하여 한 페이지 위로 스크롤 할 수 있습니다 (대부분의 시간이 원하는 것처럼 들립니다).

에서 vi모드 (아래 참조), 또한 사용 라인으로 / 아래 라인을 페이지를 스크롤 할 수 있습니다 ShiftkShiftj(당신이 스크롤 모드에서 이미 인 경우). 이동하지 않으면 커서가 페이지 대신 이동합니다.

매뉴얼 페이지 에서 발췌 :

tmux는 기본적으로 접두사 키 ‘C-b'(Ctrl-b)의 키 조합과 명령 키를 사용하여 연결된 클라이언트에서 제어 할 수 있습니다.

 The default command key bindings are:

[           Enter copy mode to copy text or view the history.

Function                     vi              emacs
--------                     --              -----
Half page down               C-d             M-Down
Half page up                 C-u             M-Up
Next page                    C-f             Page down
Previous page                C-b             Page up
Scroll down                  C-Down or C-e   C-Down
Scroll up                    C-Up or C-y     C-Up
Search again                 n               n
Search again in reverse      N               N
Search backward              ?               C-r
Search forward               /               C-s

게다가 더 많은. 명령 키로 묶여 C-b있으므로 페이지 업에 사용하는 경우 두 번 눌러야 C-b합니다. 반복 횟수를 사용하여 복사 모드 명령을 미리 지정하는 방법에 대한 자세한 내용은 매뉴얼 페이지를 참조하십시오.

Ctrl-를 사용하여 키 바인딩 모드를 설정 b한 다음

:set-window-option mode-keys emacs

또는 vi.


답변

글쎄, 당신은 스크롤을 설정하는 적절한 방법을 고려해야합니다 : tmux.conf

set -g mouse on        #For tmux version 2.1 and up

또는

set -g mode-mouse on   #For tmux versions < 2.1

그것은 창문과 창에서 나를 위해 일했습니다. 이제 tmux는 완벽합니다.

실용적인 tmux 에는 tmux.conf 파일에 대한 자세한 정보가 있습니다.


답변

내 .tmux.conf에서 :

# Sane scrolling
set -g terminal-overrides 'xterm*:smcup@:rmcup@'

이것은 기본 xterm 스크롤을 가능하게합니다.


답변

최신 tmux 2.1의 경우 마우스를 꼼꼼하게 스크롤하려면 정답입니다.

set -g mouse on
" sane scrolling:
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e; send-keys -M'"

tmux를 다시 시작하는 것만으로는 충분하지 않습니다. 예를 들어 tmux를 다시 시작해야합니다. tmux kill-server && tmux

https://github.com/tmux/tmux/issues/145 에서 가져온


답변

제 경우에는 OSX에서 opt+ UpArrowopt+ 만 DownArrow있습니다.


답변

이것이 내가 일한 방식이며 그것이 기본 방식보다 낫다고 생각하는 이유입니다.

사용해 보려면 모든 코드 섹션을에 넣으십시오 ~/.tmux.conf.

1 단계. 프리픽스 키를 변경하여 1 비트에 도달하지 않아도됩니다. ‘B’는 가까운 키이지만, 두 개의 검지 가운데 (각각 ‘F’와 ‘J’)에 있습니다. 이 단축키는 tmux에서 필수적이므로 Cj는 제로 핸드 이동 (키를 누르는 것 제외)과 관련되므로 훨씬 좋습니다.

set -g prefix C-j
unbind C-b
bind C-j send-prefix

단계 2. ‘S'(복사 모드로 들어가기)는 다음과 같습니다. 1) 닫기 (위와 같은 이유), 2) 다른 한편 (복싱의 1-2 또는 ls디렉토리에서 파일을 보는 명령 비교) ) 및 3)은 ‘스크롤’에 대한 니모닉으로 생각할 수 있습니다 (복사 모드는 스크롤 만하는 것이 아님).

bind s copy-mode

3 단계. 마지막 부분, 실제 스크롤. ‘P’와 ‘N’은 이맥스 사용자에게이 목적에 익숙합니다. 그것들은 가깝고 직관적이며 (키보드에서 ‘P’는 ‘N’위에 있으며) 니모닉 ( “이전”및 “다음”)입니다. Emacs에서 스크롤을 한 다음 tmux로 가면 바로 가기를 갖는 것이 좋습니다.

그러나 나는 ‘I’와 ‘K’가 더 낫다는 것을 알았습니다. 그것들은 ‘P’와 ‘N’보다 더 가깝고 직관적입니다 (같은 이유로). 니모닉에 관해서는-스크롤이 그렇게하는 일반적인 일이기 때문에 지름길은 곧 두뇌가 우회하여 근육 기억에 들어가기 때문에 실제로 중요하지 않습니다.

bind -t emacs-copy 'p' scroll-up
bind -t emacs-copy 'n' scroll-down
bind -t emacs-copy 'i' scroll-up
bind -t emacs-copy 'k' scroll-down


답변

나는이 세부 사항에 언급 된대로 이것을 위해 많은 것을 검색했으며 가장 적합한 해결책은 다음과 같습니다 .http :
//tangledhelix.com/blog/2012/07/16/tmux-and-mouse-mode/

~ / .tmux.conf에 다음 바인딩을 추가하십시오.

set -g mode-mouse on

unbind +
bind + \
  new-window -d -n tmux-zoom 'clear && echo TMUX ZOOM && read' \;\
  swap-pane -s tmux-zoom.0 \;\
  select-window -t tmux-zoom

unbind -
bind - \
  last-window \;\
  swap-pane -s tmux-zoom.0 \;\
  kill-window -t tmux-zoom

위의 접근 방식을 구현하면 Prefix +를 사용하여 각 창을 먼저 확대 하여 창의 창에서 복사 할 수 있습니다 .

마우스 모드에서 누락 된 중요한 세부 사항 중 하나는 복사 할 영역을 선택하기 전에 Shift 를 누르는 것 입니다. 이것은 tmux 복사 버퍼 대신 기존 터미널 버퍼에 복사합니다. ( https://wiki.archlinux.org/index.php/Tmux#Scrolling_issues )