ใน Bash (เชลล์เทอร์มินัล Mac / Linux) ปุ่มลูกศรขึ้นและลงสามารถทำงานได้เหมือนที่ทำในโปรแกรมแก้ไขข้อความ


8

ในโปรแกรมแก้ไขข้อความถ้าฉันกดปุ่มลูกศรขึ้นและลงมันจะเลื่อนเคอร์เซอร์ไปมาระหว่างบรรทัดของข้อความ

ใน Bash หากฉันพิมพ์คำสั่งแบบยาวที่ครอบคลุมหลายบรรทัดและฉันกดปุ่มลูกศรขึ้นและลงมันจะวนไปตามประวัติคำสั่ง

ฉันต้องการพฤติกรรมเดิมใน Bash เป็นไปได้ไหม ถ้าไม่มีวิธีใดที่จะย้ายเคอร์เซอร์ขึ้นหรือลงโดยตรงในคำสั่งหลายบรรทัด?


พวกมันเคลื่อนที่ระหว่างเส้น ... แค่เส้นนั้นยาวมาก
vonbrand

คำตอบ:


11

ไม่เป็นไปไม่ได้ Bash ใช้GNU Readlineเพื่อจัดการอินพุตบรรทัดแบบโต้ตอบ ไม่มีคำสั่งใน Readline ที่เคลื่อนไหวระหว่างบรรทัดแสดงผลตามที่คุณต้องการและไม่มีตัวแปรการกำหนดค่าที่เปรียบเทียบได้กับตัวแปรบรรทัดภาพเคลื่อนไหวของ GNU Emacs ที่ทำให้บรรทัดถัดไปและบรรทัดก่อนหน้าเลื่อนตามบรรทัดแสดงผล


น่าผิดหวัง แต่ขอบคุณ! และฉันคิดว่าคำตอบสำหรับคำถามอื่นจะเป็นประโยชน์กับคนที่มีคำถามเดียวกันนี้: stackoverflow.com/questions/657130/ …
Frungi

5

สิ่งที่ฉันทำคือกด CTRL + ลูกศรซ้ายและมันจะกระโดดไปที่ตัวอักษรตัวแรกหลังจากพบช่องว่างสุดท้าย คุณสามารถไปยังที่ที่คุณต้องการได้อย่างรวดเร็วโดยทำสิ่งนี้


1
นั่นคือการเชื่อมโยงคีย์ที่ไม่ได้มาตรฐาน การผูกคีย์มาตรฐานสำหรับการย้ายไปข้างหลังหนึ่งคำคือ Alt + b ดูcnswww.cns.cwru.edu/php/chet/readline/rluserman.html#SEC5
sleske

3

บางทีคุณอาจกำลังมองหาบางสิ่งบางอย่างเช่น xiki มันเหมือนกับ shell / text-editor

นี่คือตัวอย่างวิดีโอ: http://youtu.be/bUR_eUVcABg


Xiki ดูน่าทึ่ง! ฉันต้องการบางอย่างเช่นที่สามารถทำงานบน windows ...
สูงสุด

2
@ Max ตามหน้า GitHub โครงการ "เราเพิ่งแก้ไข El4r ดังนั้นจึงมีโอกาสที่ Xiki อาจทำงานในหน้าต่าง" คุณสามารถตรวจสอบได้ที่นี่: github.com/trogdoro/xiki
jason

นี่เป็นเรื่องที่เนี้ยบและเนี้ยบมาก แต่ก็ไม่ใช่สิ่งที่ฉันอยากทำ ฉันแค่ต้องการใช้ Bash หรือเชลล์ทั่วไปอื่น ๆ ขอบคุณ แต่!
Frungi

3

คุณสามารถใช้Ctrl+ LeftและCtrl+ Rightเพื่อเลื่อนดูคำมากกว่าตัวอักษรและHomeและEndเพื่อไปที่จุดเริ่มต้นและสิ้นสุดคำสั่งที่พิมพ์


2
นอกจากนี้ Ctrl + A เพื่อไปยังจุดเริ่มต้นและ Ctrl + E เพื่อไปยังจุดสิ้นสุด
Ignis

1
@ignis คุณควรใส่คำตอบนั้น
evilsoup


1

Ctrl + A เพื่อไปที่จุดเริ่มต้นและ Ctrl + E เพื่อไปที่จุดสิ้นสุดของคำสั่ง

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