Shell: จะไปยังจุดเริ่มต้นของบรรทัดอย่างไรเมื่อคุณอยู่ในหน้าจอ


70

ฉันอยู่ในหน้าจอ (หน้าจอ -Ra) ฉันมีคำสั่งยาวและฉันอยู่ท้าย แทนที่จะเก็บลูกศรซ้ายคุณจะไปยังจุดเริ่มต้นของบรรทัดได้อย่างไร

CTRL-A ทำงานเมื่อฉันอยู่ในหน้าต่างปกติ แต่เมื่อฉันอยู่ในหน้าจอที่กด CTRL-A จะให้ข้อความ "ไม่มีหน้าต่างอื่น" - ดูเหมือนว่า CTRL-A ถูกส่งไปที่หน้าจอ

คุณจะไปที่จุดเริ่มต้นของบรรทัดในหน้าจอได้อย่างไร


3
การแก้ไขด่วน: กดHomeปุ่มเพื่อไปยังจุดเริ่มต้นและEndไปที่จุดสิ้นสุดของบรรทัด

1
นี่ยังขึ้นอยู่กับโหมดของเชลล์และอินพุทที่คุณใช้แม้ว่าฉันจะสมมติว่าคุณกำลังใช้ bash และการผูก emacs เริ่มต้น
Patrick

1
@hesse เนื่องจากแป้นพิมพ์ของคุณมีHomeปุ่ม ไม่ใช่ทุกกรณี
Matteo

คำตอบ:


81

ใช้Ctrl- a aหรือเปลี่ยนการกดแป้น Escape ของหน้าจอ (ตัวเลือก-e)


6
ในกรณีที่มันไม่ชัดเจนคุณกดCtrl- ปล่อยปุ่มทั้งสองแล้วกดa aอย่าทำผิดพลาดเหมือนกันกับที่ฉันCtrlกดไว้ บัตรอ้างอิงที่ดีสำหรับสิ่งนี้และการเชื่อมโยงที่สำคัญอื่น ๆ : aperiodic.net/screen/quick_reference
Yzmir Ramirez

6

คุณสามารถเปลี่ยนการscreenโยงหรือคุณสามารถเปลี่ยนการเชื่อมของเชลล์ได้ สมมติว่าเชลล์ของคุณคือbashผลลัพธ์ของbind -p | grep \C-aควรให้การกระทำปัจจุบันผูกมัดCtrl+Aคุณ เมื่อต้องการผูกการกระทำนี้กับสิ่งอื่นให้ใช้แบบฟอร์มต่อไปนี้:

$ bind '"\C-p": beginning-of-line'

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

$ bind '"\C-a": '

หากต้องการแสดงลำดับอินพุตทั้งหมดที่เกี่ยวข้องกับแอ็คชันให้ใช้:

$ bind -p | grep beginning-of-line

สุดท้ายเพื่อให้การผูกมัดคุณสามารถใส่คำสั่งใน~/.bashrcไฟล์และปัญหาของsource ~/.bashrcคุณ


6

Ctrl- x- Ctrl- xช่วยให้คุณไปที่อักขระตัวแรกของบรรทัดสำหรับสภาพแวดล้อมที่เข้ากันได้กับ readline เช่น Bash, python และ mysql GNU SCREEN ละเว้นสิ่งนี้อย่างปลอดภัย ไม่จำเป็นต้องกำหนดค่าที่กำหนดเอง

หากคุณใช้สิ่งนี้แทนCtrl- a- aคุณใช้ปุ่มทางลัดที่สอดคล้องกัน - คุณไม่จำเป็นต้องจำไว้ว่าคุณอยู่ใน GNU SCREEN หรือไม่

สำหรับผู้ที่สนใจคีย์ลัดเดียวกันนี้ยังช่วยให้คุณไปยังจุดสิ้นสุดของบรรทัดหากคุณอยู่ที่จุดเริ่มต้นแล้ว


5
ที่จริงแล้วคือC-x C-x exchange-point-and-markมันเพิ่งเกิดขึ้นว่าเครื่องหมายอยู่ที่จุดเริ่มต้นของบรรทัดโดยค่าเริ่มต้น คุณสามารถใช้C-spaceเพื่อกำหนดเครื่องหมายที่อื่น
Ivan Andrus

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