Bash เติมข้อความอัตโนมัติใน symlink ไปยังไดเรกทอรีที่สมบูรณ์ไปยังไดเรกทอรีทั้งหมดรวมถึงเครื่องหมายทับ [ซ้ำกัน]


44

ซ้ำได้:
แท็บเสร็จสิ้นด้วยไดเรกทอรี / ลิงค์

เมื่อฉันfooเชื่อมโยงsymlink ไปยังไดเรกทอรีbar/และฉันเริ่มพิมพ์fและกดtabมันจะเสร็จสมบูรณ์fooแต่ฉันต้องการทำให้เสร็จสมบูรณ์เพื่อfoo/ให้ฉันสามารถเพิ่มอักขระถัดไปทันทีเพื่อให้เสร็จสมบูรณ์เพิ่มเติม ฉันจะทำสิ่งนั้นได้อย่างไร

คำตอบ:


69

เปิดใช้งานmark-symlinked-directoriesตัวเลือกสำหรับการReadLine

  1. แก้ไข~/.inputrc:

    $include /etc/inputrc
    set mark-symlinked-directories on
  2. กดC-x, C-rเพื่อโหลดการตั้งค่า

ดูส่วนREADLINEในหน้าคู่มือของbashสำหรับเอกสารเพิ่มเติม

สำหรับผู้ที่ไม่ต้องการเพิ่มไฟล์ dot อีกคุณยังสามารถเพิ่มบรรทัดนี้ใน~/.bashrc:

bind 'set mark-symlinked-directories on'

ขอบคุณมากฉันได้รับการจัดการกับความแตกต่างระหว่าง OSX (ค่าเริ่มต้นon) และ Linux (ค่าเริ่มต้นoff) เป็นเวลาหลายเดือนและในที่สุดฉันก็เบื่อพอที่จะ google! คุณคือฮีโร่คนใหม่ของฉัน :)
staticfloat

3
ที่เทอร์มินัลบางแห่ง Cx, Cr ไม่ได้ผลสำหรับฉันดังนั้นฉันจึงใช้bind -f ~/.inputrc
blockloop

3
นี่แสดงให้เห็นถึงพลังของ stackexchange รวมกับคำตอบที่ง่ายและคำถามที่มีรูปแบบที่ดีตอบคำถามของฉันในครั้งแรกที่ได้มาที่นี่ผ่าน google ขอบคุณ :)
DusteD

สายนี้มี$include /etc/inputrcไว้เพื่ออะไร?
razzak

@razzak: โหลดการตั้งค่าเพิ่มเติมจากไฟล์นั้นซึ่งมักจะมีการโยงคีย์มาตรฐานต่าง ๆ สำหรับเทอร์มินัลทั่วไป (โดยปกติแล้วพวกเขาจะโหลดโดยอัตโนมัติ แต่ถ้าคุณมี~/.inputrcของคุณเองคุณต้องโหลดทั้งระบบด้วยตนเอง) ดูส่วนREADLINEในหน้าคู่มือของbashสำหรับเอกสารเพิ่มเติม
grawity

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