จะอนุญาตให้ใช้ Page Up ในหน้าจอ GNU ได้อย่างไร


12

ฉันใช้ Vim เพื่อแก้ไขไฟล์ข้อความบน Linux ปกติฉันเชื่อมต่อกับเครื่อง Linux ระยะไกลโดยใช้ PuTTY จาก Windows ฉันใช้หน้าจอ GNU โดยทั่วไปเช่นกัน เมื่อใช้ Vim ข้างใน Screen ฉันไม่สามารถใช้Page Upกุญแจได้เพราะ Screen ตีความว่ามันเป็นคำสั่งเพื่อเริ่มโหมดการคัดลอก

ฉันต้องการใช้Page Upสำหรับฟังก์ชั่น up-paging ตามปกติ ฉันจะกำหนดค่าหน้าจอให้ทำเช่นนี้ได้อย่างไร


เข้าสู่ระบบเป็นระบบตามปกติและพิมพ์: echo $ TERM ฉันใช้ PuTTY และเชื่อมต่อกับ Linux และสามารถใช้ PAGE-UP ได้อย่างไม่มีปัญหา
alexus

3
คุณต้องกำหนดค่า

1
ใน Vim การเลื่อนหน้าขึ้นสามารถทำได้โดยใช้ ctrl-u (ctrl-d สำหรับเลื่อนหน้าลง) ไม่ว่าที่แก้ปัญหาของคุณ ...
adamdunson

1
Ctrl-U และ Ctrl-D เพียงเลื่อนหน้าจอบางส่วนเท่านั้น คุณสามารถใช้ Ctrl-B และ Ctrl-F สำหรับแบบเต็มหน้าจอ
echristopherson

คำตอบ:


5

ฉันชอบคำตอบจากsuperuser :

เพิ่มสิ่งต่อไปนี้ใน ~ / .screenrc ของคุณ:

termcapinfo xterm ti@:te@
termcapinfo xterm-color ti@:te@

หรือ

termcapinfo xterm* ti@:te@

การเลื่อนกลับให้ความรู้สึกแปลก ๆ เพราะดูเหมือนว่าจะเลื่อนหน้าต่างทั้งหมดในครั้งเดียวและหน้าจอจะหายไปอย่างสมบูรณ์หากคุณย้อนกลับไปไกลเกินไป แต่สำหรับฉันนั่นเป็นทางออกที่ดีที่สุดเพราะฉันไม่จำเป็นต้องสั่งให้ผู้ใช้ใช้ทางลัดอื่น ที่รู้จักกันดีShift+ PgUp/ +ShiftPgDown

อัปเดต:ดูเหมือนว่าโซลูชันนี้จะข้ามบางส่วนของเอาต์พุตเมื่อเลื่อน ดังนั้นฉันไม่สามารถแนะนำได้อีกต่อไป แต่ฉันออกจากคำตอบที่นี่เพื่อความสมบูรณ์


2
หรือ: termcapinfo xterm* ti@:te@สำหรับทั้งคู่
kenorb

4

ตรวจสอบบุคคลหรือทั้งระบบของคุณscreenrcไฟล์, ค้นหาสิ่งที่ต้องการEVAL "คัดลอก" ถ้ามีอยู่ให้ลองคอมเม้นท์ดูว่ามันช่วยได้หรือไม่

เท่าที่ผมรู้ว่าจะไม่ผูกพันที่จะเริ่มต้นโหมดถ่ายสำเนาโดยเริ่มต้นในPage Up screenฉันสงสัยว่าพฤติกรรมนี้เกิดจากการตั้งค่าบางอย่างเฉพาะในระบบระยะไกลของคุณ ฉันเป็นการส่วนตัวF9และF10การเลื่อนขึ้นและลงในโหมดการคัดลอกและปล่อยปุ่มอื่น ๆ ให้กับโปรแกรมที่ทำงานในscreen:

bindkey -k k9 eval "copy" "stuff ^u"
bindkey -k k; eval "copy" "stuff ^d"
bindkey -m -k k9 stuff ^u
bindkey -m -k k; stuff ^d

2
^uและ^dเลื่อนหน้าจอบางส่วนเท่านั้น คุณสามารถใช้^bและ^fสำหรับแบบเต็มหน้าจอ
echristopherson

4

วางสิ่งนี้ลงใน. screenrc ของคุณ:

bindkey "^[[5~" eval "copy" "stuff ^b"
bindkey "^[[6~" eval "copy" "stuff ^f"

สิ่งนี้จะทำให้ PgUp และ PgDn เข้าสู่โหมดคัดลอกและย้ายไปตามหน้าต่างๆภายในบัฟเฟอร์การเลื่อนหน้าจอ

Caveat: คุณยังต้องกด Esc เพื่อออกจากโหมดคัดลอกของหน้าจอ

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