จะข้ามไปยังตำแหน่งโดยใช้เมาส์บน iTerm / terminal ได้อย่างไร?


43

ฉันทำงานบนเครื่องเกือบตลอดเวลา

มีแอพพลิเคชั่น / ปลั๊กอินบน iTerm หรือเทอร์มินัลอื่น ๆ เช่นแอปพลิเคชันที่ใช้ซึ่งฉันสามารถควบคุมตำแหน่งเคอร์เซอร์ของเทอร์มินัลของฉันโดยใช้เมาส์ได้หรือไม่?


คุณต้องการทำอะไรที่เคอร์เซอร์?
user151019

1
ฉันต้องการข้ามไปยังเคอร์เซอร์ ใช้ตัวพิมพ์เล็กถ้าฉันมีเส้นคั่นด้วยช่องว่างยาวฉันต้องการข้ามไปยังตำแหน่งเฉพาะ การใช้แป้นพิมพ์ใช้การกดแป้นหลายครั้ง
Sairam

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

1
ดูเพิ่มเติมที่apple.stackexchange.com/a/217167/24565สำหรับข้อมูลเกี่ยวกับตัวเลือกเมาส์สำหรับ tmux
Michael Durrant

คำตอบ:


52

อย่างน้อยใน Terminal.app คุณสามารถกดค้างไว้optionในขณะที่คลิกเพื่อกระโดดภายในบรรทัดปัจจุบันของคุณ (นั่นหมายถึงเพียงแค่บรรทัดดังนั้นถ้าพรอมต์ปัจจุบันของคุณยาวจนมันตัดกับอินพุตบรรทัดที่สองคุณจะต้อง - optionคลิก ไปที่จุดเริ่มต้นของบรรทัด "วินาที" จากนั้นกระโดดด้วยปุ่มลูกศรไปยังบรรทัด "แรก" ที่คุณสามารถ optionคลิกอีกครั้ง)


1
คลิกตัวเลือกน่าสนใจ ไม่เคยรู้มาก่อนเลยว่า ให้แน่ใจว่าได้คลิกที่บรรทัดแม้ว่าอึศักดิ์สิทธิ์ ฉันไม่เข้าใจด้วยซ้ำว่าเกิดอะไรขึ้นเมื่อฉันคลิกที่ด้านบน / ล่างของบรรทัดปัจจุบัน ฉันคิดว่ามันกดหลายครั้ง แต่ค่อนข้างแน่ใจว่าประวัติคำสั่งไม่ตรงกันทั้งหมด
Jason Salaz

ก็แค่อ่านจำนวนคอลัมน์ที่คุณคลิกและกระโดดไปที่ตำแหน่งนั้นในบรรทัดปัจจุบัน (!); ดังนั้นถ้าคุณอยู่ที่จุดสิ้นสุดของพร้อมต์ที่ถูกห่อ (พูดบรรทัด 2: คอลัมน์ 45) และคุณคลิกตัวเลือกบางอย่างในบรรทัดแรก (พูดบรรทัดที่ 1: คอลัมน์ 4) คุณจะสิ้นสุดในคอลัมน์ 4 (ดี) แต่จะ อยู่ในบรรทัดที่ 2 (ผิด!)
Asmus

2
วิธีการทำงานของตัวเลือกคลิกคือมันเทียบเท่ากับอินพุตของปุ่มลูกศร สิ่งนี้ทำงานได้ดีในโปรแกรมแก้ไขเช่น emacs แต่ถ้าคุณอยู่ที่พรอมต์คำสั่ง bash ระบบจะตีความคำสั่งขึ้น / ลงว่า "คำสั่งก่อนหน้า / ถัดไปในประวัติศาสตร์" ดังนั้นหากคุณคลิกตัวเลือกที่ใดก็ได้ยกเว้นแถวเดียวกันที่มีพรอมต์ทุบตีจะผ่านประวัติคำสั่งของคุณแทนการย้ายเคอร์เซอร์
Chris หน้า

ทำงานได้ใน iTerm2
Ahmet Alp Balkan

9

เป็นเวลาค่อนข้างนานแล้วที่คำถามนี้เกิดขึ้นและฉันได้กล่าวถึงด้านล่างบนแพลตฟอร์มนี้ในตัวเลือกคลิกใน iTermและตัวติดตามปัญหาของ iTerm2 แต่อาจช่วยเหลืออย่างใดอย่างหนึ่ง:

สวัสดีฉันต้องการแจ้งให้คุณทราบว่าฉันได้ติดตั้งฟีเจอร์นั้นใน iTerm2 มันไม่ได้อย่างเป็นทางการใน iTerm2 repo แต่ถ้าคุณต้องการที่จะให้มันไปคุณสามารถค้นหาได้ที่GitHub

เนื่องจากมันผ่านการทดสอบโดยฉันเท่านั้นจึงถือว่าไม่เสถียร ฉันทดสอบด้วย bash, vi และ emacs และพยายามอย่างดีที่สุดเพื่อให้คล้ายกับลักษณะการทำงานของ Terminal.app

มีไบนารีที่คอมไพล์แล้วใน github ด้วยเช่นกันiTerm_v1.0.0.20120312.git-b919985b.zip (สำหรับ i386 / x86_64 / ppc)

แน่นอนว่าข้อเสนอแนะใด ๆ ยินดีต้อนรับ


การรายงานของเมาส์ผิดพลาดในรุ่นล่าสุดหรือไม่? มันใช้งานไม่ได้อีกต่อไปฉันไม่เห็นเคอร์เซอร์ "o" และฉันไม่สามารถหาวิธีนำกลับมาใช้ใหม่ได้
Michael

ฉันเอามันกลับมา การรายงานเมาส์ไม่สามารถใช้งานได้ในบางกรณี - ตัวอย่างเช่นหากคุณ ssh ไปยังเครื่องอื่นจากนั้นแนบกับเซสชัน tmux ที่ใช้ emacs อยู่แล้ว สิ่งนี้เคยทำงาน ตอนนี้บางครั้งคุณต้องออกจาก emacs และเริ่มต้นใหม่ก่อนที่การรายงานของเมาส์จะทำงานได้ ...
Michael

ดูเหมือนว่าจะไปที่ตำแหน่งใดก็ได้ในบรรทัดปัจจุบัน เป็นไปได้หรือไม่ที่จะคลิกตัวเลือกที่ใดก็ได้บนคำสั่งที่ใช้งานอยู่?
Skeleton Bow

6

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

Option+ bกลับคำ (เคอร์เซอร์จะลงท้ายด้วยตัวอักษรตัวแรกของคำก่อนหน้า)

Option+ fไปข้างหน้าคำ (เคอร์เซอร์จะอยู่ที่อักขระที่ไม่ใช่ตัวอักษรหลังจากคำถัดไป)

Shift+ Fn+ Left Arrow (←)จะวางเคอร์เซอร์ที่จุดเริ่มต้นของบรรทัด ( Ctrl+ aจะทำเช่นนี้ด้วย)

Shift+ Fn+ Right Arrow (→)จะวางเคอร์เซอร์ที่ส่วนท้ายสุดของบรรทัด ( Ctrl+ eจะทำเช่นนี้ด้วย)

ดังนั้นถ้าฉันมีคำสั่งยาวตัวอย่างเช่น:

$ rsync -avz --progress ~/Sites/Development/My/Project web@server:/deployment/output/area

และฉันก็เริ่มกดปุ่มOption+ bเคอร์เซอร์จะหยุดบนพื้นที่aใน, oในเอาต์พุต, dในการปรับใช้ ฯลฯ

ถ้าฉันไปที่จุดเริ่มต้นของบรรทัดและเริ่มกดปุ่มOption+ fเคอร์เซอร์จะหยุดที่ช่องว่างหลังจาก rsync, ช่องว่างหลังจาก avz, ช่องว่างหลังจากความคืบหน้า, /หลังเว็บไซต์ ฯลฯ


ฉันชอบ "ปัญหา XY" ของคุณอย่างจริงจัง ในขณะที่ไม่ตอบคำถามดั้งเดิมมันเป็นทางเลือกที่คุ้มค่ามาก มีจุดประสงค์หรือไม่ที่บางครั้งคุณพูดว่า CMD + b และ option + b
Cornelius Roemer

1
ไม่นั่นเป็นความผิดพลาดในส่วนของฉัน ไม่ควรใช้คำสั่งที่นี่เพราะควบคุมพฤติกรรมหน้าต่างเทอร์มินัลไม่ใช่พฤติกรรมของเชลล์ / การเคลื่อนไหว
Jason Salaz

5

ใน iTerm2 คุณกด alt (ซ้ายหรือขวา) และคลิกเพื่อเลื่อนเคอร์เซอร์ไปที่ตำแหน่งใด ๆ ในบรรทัดใดก็ได้


3

หากคุณมีความสนใจในการเคลื่อนไหวเป็นกลุ่มโดยเฉพาะคุณสามารถเพิ่มไฟล์set mouse=aของคุณ~/.vimrc

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

สะดวกมากนอกจากนี้ยังช่วยให้คุณสามารถเลื่อนดูเอกสารขนาดใหญ่ได้อย่างรวดเร็วโดยใช้สไลด์สองนิ้วหรือล้อเลื่อนของเมาส์

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

นอกจากนี้โปรดทราบว่าหากคุณเพิ่มบางอย่างเช่นvimpager (เช่นใน macports) คุณสามารถเลื่อนดูหน้าคนได้เมื่อคุณเพิ่ม:

export PAGER=/opt/local/bin/vimpager #or wherever vimpager is installed
alias less=$PAGER

ที่คุณหรือ.profile.bashrc

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