Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> Linux

เอาชนะปัญหาการเลื่อน Tmux:เคล็ดลับจากผู้เชี่ยวชาญในการนำทางอย่างรวดเร็ว

Tmux (ชื่อที่ได้มาจาก T เทอร์มินัล mu ltiplex er) เป็นหนึ่งในเทอร์มินัล/เชลล์มัลติเพล็กเซอร์แบบโอเพ่นซอร์สที่ดีที่สุดสำหรับระบบปฏิบัติการที่ใช้ Unix (เช่น Linux distros, Mac เป็นต้น) Tmux อนุญาตให้เข้าถึงเซสชันเทอร์มินัลหลายเซสชันพร้อมกันในหน้าต่างเดียว มันค่อนข้างมีประโยชน์ในการรันสคริปต์/โปรแกรมบรรทัดคำสั่งมากกว่าหนึ่งรายการในเวลาเดียวกัน

Tmux เลื่อนขึ้น

แต่เนื่องจากมีหลายหน้าต่างที่ทำงานพร้อมกัน สำหรับผู้ใช้บางราย จึงเป็นเรื่องยากที่จะเลื่อนขึ้นในหน้าต่างเทอร์มินัล (ไม่ว่าจะจากแป้นพิมพ์หรือเมาส์) และปัญหาก็รุนแรงขึ้นเนื่องจากระบบปฏิบัติการที่ใช้ Unix มีความหลากหลาย

แต่ไม่ต้องกังวล ผู้ใช้สามารถเลื่อนขึ้นใน Tmux ได้อย่างง่ายดายตามที่อธิบายไว้ด้านล่าง:

เปิดใช้งานและใช้โหมดเลื่อนของ Tmux

คุณสามารถเลื่อนขึ้นและลงใน Tmux ได้โดยใช้สิ่งต่อไปนี้:

  1. กด Ctrl + B คีย์ตามด้วย [ ที่สำคัญ
    กด Ctrl + B + [ ปุ่มเพื่อเปิดใช้งานโหมดเลื่อนของ Tmux
  2. ตอนนี้ใช้ ปุ่มนำทางปกติ บนแป้นพิมพ์ เช่น ลูกศรขึ้น/ลูกศรลง เลื่อนหน้าขึ้น เลื่อนหน้าลง ฯลฯ เพื่อนำทางอินเทอร์เฟซ Tmux

เมื่อผู้ใช้เลื่อนเสร็จแล้ว เขาสามารถออกจากโหมดเลื่อนใน Tmux ได้โดยกด ปุ่ม Q . หากไม่ได้ผลตามที่คาดไว้ ให้ตรวจสอบว่าใช้ ปุ่ม F7 หรือไม่ เพื่อเข้าสู่โหมดเลื่อนและ q เพื่อออกจากโหมดจะช่วยแก้ปัญหา

เปิดใช้งานและใช้โหมดคัดลอก

  1. กด Ctrl + B ปุ่มตามด้วย PgUp กุญแจ.
  2. ตอนนี้เทอร์มินัลจะเลื่อนขึ้นหนึ่งหน้าโดยตรงใน Tmux และตรวจสอบว่าสิ่งนี้ตรงตามความต้องการของคุณหรือไม่

ใช้โหมด VI

หาก Tmux ถูกควบคุมโดยไคลเอ็นต์ที่แนบ จากนั้นจะเรียกว่าโหมด VI ใน Tmux ในโหมด VI คุณสามารถใช้ Shift + K และ Shift + J ปุ่มเพื่อนำทางทีละบรรทัดในอินเทอร์เฟซ Tmux (หากอยู่ในโหมดเลื่อน) มิฉะนั้นเคอร์เซอร์ตัวเดียวจะเคลื่อนที่เมื่อกดปุ่มดังกล่าว นอกจากนี้ คุณยังอาจกด แป้น C-B (สองครั้ง) เพื่อเลื่อนหน้าขึ้นและ ปุ่ม C-F เพื่อเลื่อนหน้าลงใน Tmux

แก้ไขไฟล์ Tmux.Config

สำหรับผู้ใช้ขั้นสูงบางราย วิธีการข้างต้นอาจไม่เป็นที่น่าพอใจ ในกรณีนี้ การแก้ไขไฟล์ Tmux.config อาจช่วยแก้ปัญหาได้ (ดังที่อธิบายไว้ด้านล่าง)  คุณสามารถเปิดไฟล์ Tmux.config ได้โดยดำเนินการ vim ~/.tmux.config ในเทอร์มินัล

เปิดใช้งานการเลื่อนเมาส์

  1. เพิ่ม ต่อไปนี้ บรรทัดไปยัง ไฟล์ Tmux.config ตามเวอร์ชัน Tmux:
    For the Tmux version 2.1 and up 
    set -g mouse on 
    For the Tmux version below 2.1 
    set -g mode-mouse on
  2. ตอนนี้ตรวจสอบว่าการเลื่อนเมาส์ทำงานได้ดีหรือไม่

โปรดทราบว่าคุณอาจกดปุ่ม ปุ่ม Q เพื่อออกจากโหมดเลื่อนในภายหลัง นอกจากนี้ หากต้องการคัดลอกเนื้อหาจากเทอร์มินัล คุณสามารถใช้ Shift + คลิกซ้ายของเมาส์ เพื่อดำเนินการคัดลอก

เปิดใช้งานการเลื่อนเมาส์ด้วยการผูกคีย์:

  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'"
  2. ตอนนี้ สิ้นสุดกระบวนการ Tmux โดยดำเนินการต่อไปนี้:
    tmux kill-server && tmux
  3. จากนั้นเปิด Tmux และตรวจสอบว่าการเลื่อนทำงานตามที่คุณคาดหวังหรือไม่

โปรดทราบว่าหากคุณต้องคัดลอกรายการในโหมดเมาส์ของ Tmux ให้ใช้ปุ่ม Shift + คลิกเมาส์ซ้ายเพื่อคัดลอกเนื้อหา

หากไม่ได้ผล ให้ตรวจสอบว่าเพิ่มหรือไม่ สิ่งต่อไปนี้ใน Tmux.config จะช่วยแก้ปัญหาได้:

set -g mouse on
bind -n WheelUpPane {
    if -F '#{==:#{window_name},nvim}' {
        send-keys -M
    } {
        copy-mode -e
    }
}

เปิดใช้งานการเลื่อน Xterm เริ่มต้น

  1. เพิ่ม บรรทัดต่อไปนี้ไปที่ Tmux.config ไฟล์:
    # Sane scrolling
    set -g terminal-overrides 'xterm*:smcup@:rmcup@'
  2. ตอนนี้ตรวจสอบว่าการเลื่อน Tmux เป็นไปตามที่คุณคาดหวังหรือไม่

หากไม่ได้ผล ให้ตรวจสอบว่าเพิ่มหรือไม่ สิ่งต่อไปนี้ในไฟล์การกำหนดค่าของ Tmux จะเพิ่มพฤติกรรมที่จำเป็น (แต่คุณอาจต้องรีบูตระบบในภายหลัง):

# Allow xterm titles in the terminal window, terminal scrolling with scrollbar, and setting overrides of C-Up, C-Down, C-Left, C-Right
set -g terminal-overrides "xterm*:XT:smcup@:rmcup@:kUP5=\eOA:kDN5=\eOB:kLFT5=\eOD:kRIT5=\eOC"

แต่โปรดจำไว้ว่าหากคุณเปลี่ยนประเภทเทอร์มินัลเป็น สีโป๊ว โค้ดด้านบนอาจไม่ทำงาน และหากคุณต้องใช้ Putty คุณสามารถ เพิ่มโค้ดต่อไปนี้ ไปยังไฟล์กำหนดค่าของ Tmux:

set -g terminal-overrides "putty*:XT:smcup@:rmcup@:kUP5=\eOA:kDN5=\eOB:kLFT5=\eOD:kRIT5=\eOC"

หากไม่ได้ผล ให้ตรวจสอบว่า เพิ่ม หรือไม่ ไฟล์การกำหนดค่าต่อไปนี้ช่วยแก้ปัญหาได้:

set -ga terminal-overrides ',xterm*:smcup@:rmcup@'

สำหรับ macOS Mojave และสูงกว่า

เพียงใช้ Option + UpArrow เพื่อเลื่อนขึ้นและ ตัวเลือก + ลูกศรลง เพื่อเลื่อนลงบน Mac ที่ใช้ macOS X ขึ้นไป

ใช้ปุ่มตัวเลือกและปุ่มนำทางเพื่อเลื่อนใน Tmux

หากไม่ได้ผล ให้เข้าสู่โหมดการคัดลอก โดยกดดังต่อไปนี้:

ctrl + b + [

จากนั้นเพื่อ เลื่อน ขึ้นหรือลง บรรทัด โดยใช้ ขึ้น หรือ ลง ปุ่มลูกศร หากต้องการเลื่อนหน้าขึ้น หรือ ลง คุณสามารถใช้ fn + ลูกศรขึ้น หรือ fn + ลง ปุ่มลูกศร และเมื่อใดก็ตามที่คุณต้องออก โหมด เพียงกด ปุ่ม q .

ลองใช้ปลั๊กอิน

หากวิธีการข้างต้นไม่ได้ผลตามที่คุณคาดหวัง ให้ใช้ปลั๊กอิน เช่น Tmux-Better-Mouse-Mode อาจตอบสนองความต้องการของคุณได้

ดาวน์โหลดปลั๊กอินโหมดเมาส์ Tmux Better

เกี่ยวกับผู้เขียน

เอาชนะปัญหาการเลื่อน Tmux:เคล็ดลับจากผู้เชี่ยวชาญในการนำทางอย่างรวดเร็ว

เควิน แอร์โรว์ส

Kevin Arrows เป็นผู้เชี่ยวชาญด้านเทคโนโลยีที่มีประสบการณ์สูงและมีความรู้และมีประสบการณ์ในอุตสาหกรรมมานานกว่าทศวรรษ เขาได้รับการรับรองจาก Microsoft Certified Technology Specialist (MCTS) และมีความมุ่งมั่นอย่างแรงกล้าที่จะติดตามข่าวสารเกี่ยวกับการพัฒนาเทคโนโลยีล่าสุด Kevin ได้เขียนหัวข้อที่เกี่ยวข้องกับเทคโนโลยีอย่างกว้างขวาง โดยนำเสนอความเชี่ยวชาญและความรู้ของเขาในด้านต่างๆ เช่น การพัฒนาซอฟต์แวร์ ความปลอดภัยทางไซเบอร์ และการประมวลผลแบบคลาวด์ การมีส่วนร่วมของเขาในด้านเทคโนโลยีได้รับการยอมรับและเคารพอย่างกว้างขวางจากเพื่อนร่วมงานของเขา และเขาได้รับการยกย่องอย่างสูงจากความสามารถของเขาในการอธิบายแนวคิดทางเทคนิคที่ซับซ้อนในลักษณะที่ชัดเจนและรัดกุม