วิธีการรับ Mac OS X Terminal.app และการเลื่อนหน้าจอ / vim เพื่อเล่นที่ดี?


13

OSX 10.6.3 Terminal.app

เป็นผู้ใช้หน้าจอที่ทุ่มเทสวย Terminal.app line buffer และ / หรือ scroll ไม่ทำงานสำหรับฉัน ขณะที่อยู่ในหน้าจออะไรก็ตามที่ผ่านไปด้านบนของเฟรมหายไปไม่สามารถเลื่อนกลับไปที่ ดูเหมือนว่าจะทำงานได้ดีในแอปเทอร์มินัลอื่น ๆ gnome, cygwin บางทีนี่อาจเป็น shell env, config หรือ command?

.screenrc:

startup_message off  
autodetach on  
shell -$SHELL  
vbell off  
defutf8 on  
caption always  
caption string "%{= wk}%w"  

ฉันได้ลองใช้ defscrollback ที่นี่ด้วยค่าที่แตกต่างกัน แต่ไม่มีผล

การตั้งค่า. bashrc บางส่วน:

set -o physical  
export TERM=xterm-color  
shopt -s checkwinsize  

คำตอบ:


15

ใน Lion ประเภทเทอร์มินัลเริ่มต้นจะแตกต่างกันดังนั้นคุณควรใช้บรรทัดนี้.screenrcแทน:

termcapinfo xterm-256color|xterm-color|xterm|xterms|xs|rxvt ti@:te@


นี้ไม่ทำงานสำหรับฉัน :( "echo $ คำว่า" ผลตอบแทน "xterm-256color" ดังนั้นฉันแน่ใจว่ามันเป็นค่าขั้วขวา แต่ไม่มีค่าผมให้มีผลบังคับใช้.
ทิมฮาร์เปอร์

15

ในโฮมไดเร็กตอรี่ของคุณ, ใส่ไฟล์.screenrcดังต่อไปนี้ในข้อความ:

# Make xterm scrolling work properly with screen.
termcapinfo xterm-color|xterm|xterms|xs|rxvt ti@:te@

ทำงานสำหรับ Terminal.app ด้วย


2
ฉันรู้ว่าสิ่งนี้ทำงานได้ใน Snow Leopard แต่ดูเหมือนจะไม่ทำงานใน OS X Lion Bummer :(
Tim Harper

1
นี่คือสิ่งที่ฉันกำลังมองหา - ทำงานให้ฉันใน OS X Lion 10.7.3 ด้วย Terminal.app - สุดยอด!
dossy

ใช้ได้กับฉันใน OS X Lion 10.7.5 (หมายเหตุ: มีคำตอบที่พิมพ์ผิดเล็กน้อยไฟล์ที่คุณต้องจัดเก็บคำสั่งคือ ~ / .screenrc นั่นคือในไดเรกทอรีบ้านของคุณในไฟล์ชื่อ ".screenrc" - ไม่ใช่ "screenrc" ฉันได้แก้ไขคำตอบเพื่อสะท้อนสิ่งนี้แล้ว)
likethesky

8

ฉันคิดว่ามันควรจะใช้ได้ดีกว่านี้มากขึ้น:

termcapinfo xterm* ti@:te@

นี่จะเป็นสากลมากขึ้น มันถูกกฎหมาย:

termcapinfo * ti@:te@

นี่เป็นคำตอบที่ดีที่สุด
Steve Bennett

3

ด้ายเก่าฉันรู้ แต่สิ่งที่คุ้มค่า:

หากใช้ iTerm2 ที่กำหนดค่าอย่างถูกต้องบน Mac OS X Mountain Lion 10.8.2 ดูเหมือนว่าไม่จำเป็นที่จะต้องสร้าง / แก้ไขไฟล์. screenrc ตามคำแนะนำที่เป็นประโยชน์ของ Gareth ด้านบน

  1. ติดตั้ง iTerm2-1_0_0_20120726

  2. เรียกใช้ iTerm2> เมนูโปรไฟล์> เปิดโปรไฟล์> เลือกค่าเริ่มต้น> แก้ไขโปรไฟล์> แท็บเทอร์มินัล> เลือก ON:

    • บันทึกบรรทัดเป็น scrollback เมื่อมีแถบสถานะของแอพ
    • scrollback ไม่ จำกัด (เลือกได้)
  3. รีสตาร์ท iTerm 2 (หรือเริ่มเชลล์ใหม่)

  4. ทดสอบ: โดยส่วนตัวแล้วฉัน SSH จะไปที่ Ubuntu 12.04.1 LTS บน AWS EC2> เริ่มต้นด้วย byobu (กำหนดค่าให้ใช้หน้าจอแทนที่จะเป็น tmux เริ่มต้น)> Scrollback ทำงานได้ดีในขณะนี้ (บวก mo bettah ของ iTerm มากกว่า Terminal ใด ๆ .. )

-dk


นั่นเป็นเรื่องที่น่าอัศจรรย์ !!
HaxElit

@David Keenan ดีใจที่คุณได้โพสต์โซลูชันนี้!
ivan

2

คำตอบสั้น ๆ :

พิมพ์crtl-a+ [และใช้ของคุณเลื่อน / ปุ่มลูกศรหรือ/pgup pgdwnหากต้องการออกจาก "โหมดเลื่อน" (ไม่ใช่ชื่อจริง) ให้กดEsc

คำตอบยาว: บทความนี้เกี่ยวกับบัฟเฟอร์การเลื่อนหน้าจอของบทความนี้


โปรดแสดงความคิดเห็นในการลงคะแนน
ลาจาเน็ตต์

หมายเหตุวิธีนี้ดูเหมือนจะหยุดกระบวนการทำงานชั่วคราว ซึ่งอาจจะเป็นที่ต้องการหรือไม่ก็ได้
cavalcade

1

ฉันไม่รู้ว่าเป็นไปได้ที่จะได้รับบัฟเฟอร์การเลื่อนของ Terminal เพื่อรวบรวมและทำงานกับ scrollback ของหน้าจอ gnu หรือไม่

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

ด้วยความช่วยเหลือเล็กน้อยจากGoogleฉันพบโพสต์บล็อกชื่อWorking with the Scrollback Bufferการทำงานร่วมกับหน้าจอเลื่อนบัฟเฟอร์

ฉันไม่ได้คาดหวังว่า scrollback จะรวมเข้ากับบัฟเฟอร์ของ Terminal.app หากคุณสลับจากหน้าจอเสมือนหนึ่งไปยังอีกหน้าจอหนึ่งจะเกิดอะไรขึ้นกับบัฟเฟอร์ของเทอร์มินัล หากคุณตัดการเชื่อมต่อจากเครื่องหนึ่งเครื่องและเชื่อมต่ออีกสามชั่วโมงต่อมาบัฟเฟอร์ Terminal ของคุณจะไม่ซิงค์

screenเป็นหน้าต่างเล็ก ๆ ของฉันไปยังเซิร์ฟเวอร์อื่น ฉันชอบบัฟเฟอร์การเลื่อนกลับของหน้าจอนั้นยังคงอยู่กับเซสชันเพื่อให้ฉันสามารถเข้าถึงได้จากที่ฉันเคยเชื่อมต่อ ฉันชอบที่แต่ละหน้าจอในเซสชันของฉันมีบัฟเฟอร์การเลื่อนของตัวเอง

ฉันคิดว่าคุณพบว่าการทำงานนี้ใน gnome และ cygwin เพราะscreenใช้ฟังก์ชั่น 'หน้าจอสำรอง' ของ xterm มีคำถามเพิ่มเติมในคำถามแรกในหน้าคำถามที่พบบ่อยนี้


ขอบคุณข้อมูลที่ดี ใช่โหมดการคัดลอกเป็นสิ่งที่เหมือนกลุ่มฉันชอบ :)
rustychains

1

ผมใช้iTerm 2 มีตัวเลือกภายใต้ส่วนกำหนดค่า> เทอร์มินัลซึ่งระบุว่า: "บันทึกบรรทัดในการเลื่อนกลับเมื่อมีแถบสถานะของแอป" ที่และวาง:

defutf8 on
termcapinfo xterm-color|xterm|xterms|xs|rxvt ti@:te@

ใน screenrc ได้หลอกลวงสำหรับฉัน เลื่อน!


0

หากคุณไปที่เมนูเทอร์มินัลแล้วเลือกการตั้งค่า ... จากนั้นคลิกที่แท็บหน้าต่างที่ด้านล่างมีตัวเลือกสำหรับการเลื่อนกลับปุ่มตัวเลือกสำหรับไม่ จำกัด ถูกเลือกหรือไม่


มีการเลือกไม่ จำกัด
rustychains

0

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

termcapinfo $TERM ti@:te@ทำเพื่อฉัน มันเหมือนคำตอบที่อ้างถึง แต่ไม่มีสัญลักษณ์แทน


0

ในกรณีของปัญหากับเครื่อง Mac Terminal.app xterm-256colorคือการที่เริ่มต้นรายละเอียดขั้วของฉันไม่ได้ประกาศเป็นขั้ว การเปลี่ยนค่าที่ "ประกาศเทอร์มินัลเป็น" ภายใต้หัวข้อ "Terminfo" ของแท็บ "ขั้นสูง" ของการตั้งค่าโปรไฟล์ของฉันแก้ไขปัญหาได้

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