เป็นไปได้หรือไม่ที่จะกำหนดค่าโหมด bash vi เพื่อให้เริ่มต้นในโหมดคำสั่งแทนโหมดแทรก ? ฉันพบว่าฉันต้องกดEscมากเกินไป ดูเหมือนว่ามีความเป็นไปได้ที่จะระบุสิ่งนี้ใน zsh แต่ฉันไม่พบวิธีการทำเช่นนี้ใน bash / readline
เป็นไปได้หรือไม่ที่จะกำหนดค่าโหมด bash vi เพื่อให้เริ่มต้นในโหมดคำสั่งแทนโหมดแทรก ? ฉันพบว่าฉันต้องกดEscมากเกินไป ดูเหมือนว่ามีความเป็นไปได้ที่จะระบุสิ่งนี้ใน zsh แต่ฉันไม่พบวิธีการทำเช่นนี้ใน bash / readline
คำตอบ:
ฉันไม่คิดว่าเป็นไปได้ที่จะใช้GNU Readline Libraryมาตรฐาน
อย่างไรก็ตามคุณสามารถใช้xdotoolเพื่อแฮ็คธรรมดาเพื่อให้ได้ผลเหมือนกัน ต่อท้ายคำสั่งของคุณเพื่อ.bashrc
จำลองการEscapeกดปุ่มจะทำให้แน่ใจว่าคำของคุณเปิดในโหมดคำสั่ง:
xdotool key Escape
คุณอาจต้องการใช้การหน่วงเวลาเล็กน้อยพร้อม--delay
สวิตช์เพื่อป้องกันไม่ให้แจ้งให้คุณทราบ ...
โปรดทราบว่าสิ่งนี้มีแนวโน้มที่จะทำให้เกิดความยุ่งยากมากกว่าที่คุณคาดไว้: เทอร์มินัลถูกออกแบบมาเพื่อรับอินพุต การทำลายที่ (แม้ว่าจะมีเพียงเล็กน้อยเท่านั้น) อาจไม่สามารถพิสูจน์ได้ว่าเป็นความคิดที่ดี ...
ฉันนำมันกลับมามันไม่ทำงานกับการเลื่อนเคอร์เซอร์ มันใช้งานได้ แต่มีพฤติกรรมตลก ๆ ถ้าคุณถอดมันออก:PS1="$PS1 ^[
เปลี่ยนPS1
ข้อความแจ้งของคุณ:
PS1="test $ \[^[[s^[^[[u\]"
^[
การหลบหนีที่แท้จริงอยู่ที่ไหน( Ctrl+ V Esc)
การหลบหนีด้วยตัวเองในการเปลี่ยนตรงกลางเป็นโหมดคำสั่ง^[[s
และการ^[[u
หลบหนีการจัดเก็บและเรียกคืนตำแหน่งเคอร์เซอร์; ฉันก็พบว่ามีพฤติกรรมตลก ๆ
คำตอบคือไม่มี ไฟล์ bash ต้นทางที่เกี่ยวข้องคือbashline.c
Esc
key การทำแผนที่เทียบเท่าเริ่มต้นสำหรับEsc
คือCtrl + ]