วิธีการเลื่อนขึ้นในหน้าต่างเทอร์มินัลในขณะที่สร้างอินพุทใหม่โดยไม่ต้องซ้อนกลับไปที่ด้านล่าง (Linux)


37

ใน Ubuntu ฉันต้องการเลื่อนขึ้นขณะที่คำสั่งกำลังทำงานในหน้าต่างเทอร์มินัลของฉันและสร้างเอาต์พุตใหม่ (อันที่จริงคำสั่งที่รันคือ rspec) ฉันสามารถเลื่อนขึ้นได้ แต่ทุกครั้งที่ rspec สร้างบรรทัดใหม่ของเอาต์พุตคอนโซลมันทำให้ฉันกลับไปที่ด้านล่าง มีวิธีเลื่อนทั้งหมดหรือไม่ ฉันใช้ terminator กับ Linux Mint / Ubuntu 12.04 LTS

UPDATE

ฉันพบหน้าแรกของการแก้ปัญหาที่เป็นไปได้ Terminatorกล่าวว่า

stty ixon

คุณสามารถเปิด "XON / XOFF โฟลว์คอนโทรลสำหรับเทอร์มินัลเอาท์พุตความสามารถในการหยุดเอาท์พุทโดยการพิมพ์ ^ S และดำเนินการต่อโดยการพิมพ์ ^ Q [... ]"

นี่ไม่ใช่สิ่งที่ฉันต้องการทั้งหมดโดยไม่ต้องหยุดเอาท์พุท (และอาจจะสงสัยว่าเมื่อลืมเปิดอีกครั้ง) ฉันคิดว่าอาจมีคีย์ตัวดัดแปลงอย่างง่ายเช่น shft-alt พร้อมเม้าส์ล้อเลื่อนขึ้น - ลง ทางออกที่ดีกว่า


นั่นเป็นสิ่งหนึ่งที่ฉันชอบเกี่ยวกับ LXTerminal (LXDE)
Matthew Lundberg

คุณเลื่อนโดย Shift-PgUp หรือโดย scrollbar?
ott--

@MatthewLundberg ปกติแล้วจะมีล้อเลื่อนของเม้าส์ดังนั้น scrollbar แต่มันก็ไม่ทำงานกับ shift-pgup :( ฉันสามารถมี lxterminal ในเทอร์มินอลได้ไหมคุณรู้หรือไม่?
Yo Ludke

1
xfce4-terminalมีตัวเลือกที่เรียกว่าScroll on outputที่คุณสามารถยกเลิกการเลือกและทำสิ่งที่คุณถาม
Martín Canaval

1
คุณสามารถส่งออกไปยังไฟล์เปิดเทอร์มินัลอื่นและtail -f file.txtดูมันในขณะที่มันถูกสร้างขึ้น นั่นจะทำให้เทอร์มินัลแรกของคุณว่างเพื่อเลื่อนกลับและยังคงให้คุณดูเอาต์พุตในแบบเรียลไทม์ ไม่หรูหราฉันรู้
terdon

คำตอบ:


53

แม้ว่าฉันจะสายไปหน่อย แต่ฉันโพสต์ที่นี่เพื่อให้ทุกคนที่มาที่นี่ได้รับการแก้ไข สำหรับฉันวิธีแก้ปัญหาเดียวกันคือ:

การตั้งค่า Terminator -> แท็บโปรไฟล์ -> แท็บเลื่อน [ย่อย] -> ยกเลิกการเลือกตัวเลือก 'เลื่อนบนเอาท์พุท'

สิ่งที่ดีเกี่ยวกับตัวเลือกนี้คือมันจะยังคงเลื่อนบนเอาต์พุตเมื่อคุณอยู่ที่ด้านล่างสุดของเอาต์พุต แต่ทันทีที่คุณเลื่อนขึ้นมันจะหยุดและจะไม่รบกวนคุณแม้ว่าเนื้อหาเอาต์พุตจะยังคงอยู่ สร้าง

ฉันหวังว่านี่จะช่วยได้


เจ๋ง :) เป็นไปได้ไหมที่จะสร้างทางลัดเพื่อสลับตัวเลือกนี้?
Yo Ludke

1
ฉันค้นหาเล็กน้อย แต่ไม่พบวิธีใด ๆ ในการสลับด้วยทางลัดภายในเทอร์มิเนเตอร์ อย่างไรก็ตาม, เนื่องจากตัวเลือกถูกเขียนในไฟล์ config terminator ที่ "$ HOME / .config / terminator / config", มันเป็นไปได้ที่จะกำหนดทางลัดส่วนกลางให้กับคำสั่งที่เปิดและปิดตัวเลือกโดยตรงในไฟล์ config.
Chikitulfo

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

1

tail -f log.txt | lessจะอัปเดตเพื่อเลื่อนไปยังข้อมูลใหม่และคุณสามารถขึ้นหรือลง คุณยังสามารถใช้lessคุณสมบัติการค้นหาและอื่น ๆ ด้วยวิธีการไพพ์คุณสามารถแยกเอาท์พุตที่เคลื่อนที่ได้

และความคิดเดียวกัน less +F log.txtแต่ไม่มีท่อ:
(สิ่งนี้ถือว่าคุณสามารถทำงานกับเนื้อหาของคุณในแบบนี้)

วิธี Unix เก่าคือการกดปุ่ม Ctrl-S ของคุณใน terminal เพื่อหยุดและ Ctrl-Q เพื่อการส่งออกเริ่มต้นใหม่เลื่อน - stty ixonนี่คือโดยทั่วไปสิ่งที่เทอร์มิคือการยอมให้คุณทำกับ
ด้วยการเพิ่มแถบเลื่อนดูเหมือนว่าเหมาะกับฉันแล้ว - กด Control-S เลื่อนไปที่สิ่งที่คุณชอบจากนั้นควบคุม -Q เพื่อย้อนกลับ ใช่คุณจะลืมยกเลิกการหยุดชั่วคราวผลลัพธ์เป็นครั้งคราว

เพราะฉันขี้เกียจล้ำและเพราะฉันชอบความยืดหยุ่นของการเปลี่ยนเส้นทางเอาต์พุตฉันจะใช้ tail -f กับไปป์ (สมมติว่าเหมาะสมกับตัวพิมพ์) จากนั้นฉันสามารถหยุดลูกศรขึ้นและเพิ่มสิ่งที่ต้องการ grep และมันยังทำงาน: tail -f tac_plus.log | less | egrep 'peerip'

โยนบางส่วนcatและteeในนั้นและคุณมีงานปาร์ตี้ที่แท้จริง


ฉันต้องการใช้สิ่งนี้สำหรับข้อมูลจำเพาะของ rspec - ปัญหาคือด้วยหาง / น้อยกว่าสีหายไป (ผลลัพธ์เป็นขาวดำแทนที่จะเป็นสีเขียว / แดงถ้าฉันเรียกใช้คำสั่งโดยตรง)
Yo Ludke

@YoLudke ฉันไม่คุ้นเคยกับ rspec หรือวิธีการ colorizing มีหลายวิธีในการส่งผ่านสี grep ฯลฯ แต่วิธีนี้อาจใช้ไม่ได้ คุณกำลังทำบางสิ่งบางอย่างเช่นกำลังชี้ rspec ไปยังกระบวนการแบบวนซ้ำ / วนซ้ำ / ที่ใช้เวลานานและได้ผลลัพธ์จากนั้น
belacqua
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.