ฉันจะเลื่อนหน้าขึ้นหรือลงใน tmux ด้วย Terminal.app ได้อย่างไร


62

เมื่อฉันอยู่tmuxเพียงส่วนหนึ่งของข้อความที่ปรากฏขึ้น ถ้าผมพยายามที่จะเลื่อนขึ้นหรือลงม้วนคอนโซลขึ้นแต่ไม่ข้อความจริง ถ้าฉันทำ CTRL + b ตามด้วย[ฉันเห็นในแถบสถานะ*tmuxและถ้าฉันกดลูกศรขึ้นหรือลงฉันสามารถขึ้น / ลงบนบรรทัดข้อความทีละบรรทัดได้ เมื่อกดที่ฉันเห็นในบรรทัดสถานะqbash

เมื่อฉันทำCTRL+bตามPage UPหรือPageคอนโซลขึ้นหรือลง แต่ไม่ใช่ข้อความ

ฉันจะเลื่อนข้อความขึ้นหรือลงทีละหลายบรรทัดได้อย่างไร


สิ่งที่ฉันประหลาดใจเกี่ยวกับ แต่สิ่งที่ดูเหมือนว่าจะทำงานนอกกรอบคือการเลื่อนด้วยเมาส์กลางในขณะที่ใช้ tmux ภายใน gnome-terminal
Anthon

คำตอบ:


89

หากคุณใช้ Terminal.app ของ OS X มันจะจับภาพPage up/downปุ่มกดและเพียงเลื่อนเนื้อหาของหน้าต่างราวกับว่าคุณใช้แถบเลื่อน คุณสามารถใช้Shift+ Page up/downเพื่อส่งพวกเขาไปยังแอปพลิเคชันภายในเครื่อง

เมื่อใช้สิ่งนี้คุณจะสามารถเลื่อนดูหน้าทีละหน้าโดยใช้:

  1. Control+B
  2. [
  3. ปุ่มลูกศรหรือShift+Page up/down
  4. Control+ Cเมื่อเสร็จสิ้นด้วย scrollback

หากคุณต้องการเปลี่ยนให้ทำงานเหมือนแอพเทอร์มินัลอื่น ๆ บนแพลตฟอร์มอื่น ๆ คุณสามารถไปที่เทอร์มินัล -> การตั้งค่าการตั้งค่าเลือกโปรไฟล์ของคุณและไปที่คีย์บอร์ดและสลับการผูก "หน้าลง / เลื่อนขึ้น" และ "เลื่อนหน้าลง / เลื่อนหน้าขึ้น":

ภาพหน้าจอการตั้งค่าคีย์บอร์ด Terminal.app


+1 ถึงแม้ว่าฉันไม่สามารถทดสอบได้ แต่ดูเหมือนว่าจะเป็นผู้ชนะ answer.I จำพยายามCMDมีลูกศร SHIFTแต่ผมก็จำไม่ได้พยายาม นอกจากนี้swap the bindings for "page down/page up" and "shift page down/shift page upคุณหมายถึงอะไร ฉันไม่แน่ใจว่าจะทำอย่างไร ฉันหวังว่างานนี้จะได้เพราะประสาทของฉันถูกทำลายโดยเหล่านี้อย่างสมบูรณ์
Jim

@Jim ลองดูที่ภาพหน้าจอ หากคุณเปิดการตั้งค่าในคอมพิวเตอร์ของคุณคุณจะเห็นว่าปุ่ม "เลื่อนขึ้น / ลง" และ "เลื่อนหน้าขึ้น / ลง" ของคุณมีการทำงานที่แตกต่างไปจากที่ฉันมี (นี่คือการเชื่อมโยง หากคุณสลับไปมาคุณสามารถเปลี่ยนสิ่งที่เกิดขึ้นเมื่อคุณถือกะหรือไม่ถือกะ (หากคุณกำลังแก้ไขพวกเขาคุณสามารถป้อนข้อมูล\033โดยการกดปุ่มหลบหนี)
mrb

ฉันไม่ได้มีของฉันmacที่มีอยู่ในการตรวจสอบนี้ในขณะนี้ แต่ในภาพหน้าจอของคุณสำหรับมันมีข้อความเช่นshift page down scroll to next page in bufferนี่คือข้อความพิเศษที่ทำสิ่งที่ถูกต้องตรงไหน? คือกำหนดการทำแผนที่บางอย่าง? ยังมีหนังสือที่ดีเกี่ยวกับสิ่งเหล่านี้ใน mac? เพราะฉันบ้าไปแล้วกับคีย์บอร์ดเมื่อสัปดาห์ที่แล้ว
Jim

@ จิมฉันไม่รู้หนังสือเลย ฉันเพิ่งถูกรายล้อมไปด้วยผู้คนที่เพิ่มใน Macs สำหรับการตั้งค่าคีย์มันจะสมเหตุสมผลกว่าเมื่อคุณทำมันจริงๆ :)
mrb

ตกลง. ฉันจะลองโดยเร็วนี้ ขอบคุณสำหรับคำตอบ. ฉันรู้สึกดีที่คุณให้ทางออกกับปัญหาของฉัน !!! จะยอมรับสิ่งนี้ทันทีที่ฉันทดสอบ
Jim

31

ฉันใช้การรวมกันเริ่มต้นบนก่อน Yosemite MacBook Pro: fn+ + หรือfn+ +

แก้ไข:ฉันพบใน MBP ที่ใช้ Yosemite fn+ หรือfn+ ควรใช้งานได้ตามค่าเริ่มต้น

ในเอกสารมักจะแสดงเป็น⇞หรือ⇟


1
สิ่งนี้ใช้ได้กับฉันใน Air ใหม่ด้วย 10.9.4 โดยไม่เปลี่ยนการกำหนดค่าตามความชอบหรือไฟล์กำหนดค่าหรือรันคำสั่งใด ๆ
Paul A Jungwirth

8

แก้ไขไฟล์ ~ / .tmux.conf แทรกการตั้งค่า 'เมาส์' และส่งไฟล์เช่น:

###Find tmux version first:
tmux -V
> 1.8 

###For tmux version 1.8;
vim ~/.tmux.conf ### file
set -g mode-mouse on  ### Edit the .tmux.conf file with this setting
tmux source-file ~/.tmux.conf

###For tmux 2.1 version on:
vim ~/.tmux.conf ### file
set -g mouse on ### Edit the .tmux.conf file with this setting
tmux source-file ~/.tmux.conf

มันทำงานได้อย่างสมบูรณ์แบบ!
การพนัน Sibbs

7

การอัปเดตคำสั่งการรวมในคำตอบของ Rob และเพื่อตอบสนองต่อความคิดเห็นของ Alex:

ฉันพบpage-upและpage-downไม่ใช่คำสั่ง tmux (v1.8) ที่ถูกต้องซึ่งเป็นวิธีที่ถูกต้องในการอัปเดตของคุณ~/.tmux.confคือ:

bind-key -t (emacs|vi)-copy j page-up
bind-key -t (emacs|vi)-copy ; page-down

เลือก emacs หรือ vi ตามสไตล์ tmux ที่ใช้อ้างอิงmode-keysในคู่มือ tmux

หลังจากนี้คุณสามารถเลื่อนขึ้นและลงด้วยjและ;ในโหมดคัดลอก


1
ลิงก์แบบด่วนเกี่ยวกับวิธีใส่ tmux ในโหมด vi blog.sanctum.geek.nz/vi-mode-in-tmux
JiminyCricket

หากคุณอ่านบทความที่โพสต์โดย JiminyCricket อย่างระมัดระวังจะมีการอธิบายว่าไวยากรณ์ข้างต้นเป็นเพียงสำหรับ tmux เวอร์ชัน 2.3 และต่ำกว่า หากคุณมีเวอร์ชันที่ใหม่กว่าจากนั้นหลังจากเปิดใช้งานโหมด vi คำสั่งlist-keys -T copy-mode-viจะแสดงการเชื่อมโยงคีย์ในไวยากรณ์ใหม่ (ตัวอย่างที่ดีสำหรับการติดตาม) หากคุณต้องการสร้างการเชื่อมต่อแบบหน้าขึ้นเช่นใช้บรรทัดbind-key -T copy-mode-vi j send-keys -X page-up
mareoraft

3

จากhttps://wiki.archlinux.org/index.php/Tmux

หากคุณมีปัญหาในการเลื่อนด้วย Shift-PageUp / Shift-PageDown ในเทอร์มินัลของคุณลองสิ่งนี้:

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

มันอาจเป็นสิ่งจำลองเทอร์มินัลลองอย่างใดอย่างหนึ่งต่อไปนี้

export TERM=vt100
export TERM=ansi
export TERM=xterm

อาจเป็นหนึ่งในนั้นจะทำมัน

นอกจากนี้ยังมีคีย์ผูกใน ~/.tmux.conf

bind-key j page-up
bind-key ; page-down

จะผูกjและ;ไปก่อนหน้าและถัดไป


1
page-upและpage-downไม่ใช่คำสั่ง tmux (v1.8) ที่ถูกต้องดังนั้นคำสั่งสองคำสั่งสุดท้ายจึงมีข้อผิดพลาด:Unknown command: page-(up|down)
Alex Leach

ดูคำตอบของ Ronnie ด้านล่างเพื่อให้หน้าขึ้นและลงหน้าจอ
Silfheed

1

ตรวจสอบให้แน่ใจว่าคุณใช้การเชื่อมโยงคีย์ tmux ที่เหมาะสม (vi vs emacs) โดยลองทั้งสองชุด: https://superuser.com/questions/196060/selecting-text-tmux-copy-mode

ผมมีปัญหาที่คล้ายกันที่ฉันสามารถเลื่อนเคอร์เซอร์ไปด้วยปุ่มลูกศร แต่ไม่สามารถเลื่อนหน้าขึ้นหรือลงโดยใช้Control+ U/ Dและไม่สามารถเลือกและคัดลอกใช้และSpace Enterปรากฎว่า tmux อยู่ในโหมด emacs ในโหมด Mac และ vi ใน Linux แม้ว่าฉันจะไม่ได้ตั้งค่าไว้อย่างชัดเจนสำหรับ OS ใดก็ตาม


0

หากคุณยังใหม่กับ OS X และคุ้นเคยกับแป้นพิมพ์ลัดของ Windows และ Linux คุณอาจจะเคยชินกับการใช้CTRLสิ่งต่างๆมากมาย ใน OS X นั้นปุ่ม Command (aka Apple) มักจะถูกใช้แทนCTRLรหัส

นอกจากนี้แทนที่จะใช้ปุ่มหน้าให้ลองใช้Command + Up(หรือปุ่มทิศทางอื่น ๆ ) เพื่อเลื่อนเคอร์เซอร์หรือหน้าจอของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.