ไม่สามารถใช้ CTRL + ซ้าย / ขวาใน Bash Terminal ได้อีก


13

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

Ie: นี่คือผลลัพธ์ของฉันเมื่อฉันพยายามนำทางด้วยCTRL+ Left:

~ $ test test ;5D;5D;5D

อยากรู้อยากเห็นฉันยังคงสามารถใช้CTRL+ Left/ Rightเพียงแค่ปรับใน VIM


คุณขอให้คุณใส่อะไรลงใน bashrc เพื่อเปิดใช้งานได้ไหม เพราะมันไม่ทำงานตามค่าเริ่มต้นสำหรับฉันใน Ubuntu 15.10 ...
Martin Tournoij

grep bind ~/.bashrc กรุณาโพสต์การส่งออกของ คุณกำลังหาไฟล์อื่น ๆ ใน~/.bashrc( grep source ~/.bashrc)?
kos

1
แค่อยากรู้ แต่ผลลัพธ์ของecho $0อะไร
แอรอน

คำตอบ:


15

เปิด~/.inputrcไฟล์และเพิ่มบรรทัดต่อไปนี้:

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word

ปิดและเปิดเชลล์อีกครั้งคุณควรจะสามารถใช้คีย์เหล่านั้นได้

เหตุผลสำหรับพฤติกรรมนี้? ไม่ค่อยแน่ใจ ด้วยเหตุผลบางประการหรือไฟล์bashอ่านที่หยุดของคุณ/etc/inputrcแต่ควรอ่านไฟล์ในโฟลเดอร์โฮมของคุณ


ฉันคิดว่าปัญหานี้เริ่มขึ้นสำหรับฉันเมื่อฉันสร้างไฟล์ ~ / .inputrc จะทำเช่นนั้น?
wjandrea

1
@wjandrea ใช่ฉันทดสอบที่เพิ่งแล้ว ก่อนที่จะมีค่าว่าง ~/.inputrcbash ทำงานได้ดีเริ่มแสดงอักขระควบคุมเดียวกันสำหรับเอาต์พุตเมื่อ~/.inputrcสร้างค่าว่างแล้ว ลบออก - ปุ่ม Ctrl + ลูกศรทำงานอีกครั้ง straceเผยให้เห็นว่าถ้า.inputrcมีอยู่แล้วจะไม่อ่านbash /etc/inputrcฉันจะไปรอบ ๆ ยุ่งกับเรื่องนี้มากขึ้นอีกนิดและปรับปรุงคำตอบของฉัน
Sergiy Kolodyazhnyy

1
หากคุณเพิ่ม$include /etc/inputrcที่ด้านบนของ~/.inputrcไฟล์ของคุณคุณสามารถรวมลักษณะการทำงานของทั้งระบบแล้วขยายออก
Cory Gross
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.