Bash autocomplete pada symlink ke direktori lengkap ke seluruh direktori, termasuk slash [duplikat]

44

Kemungkinan Duplikat:
Pelengkapan Tab dengan direktori / tautan

ketika saya memiliki symlink yang foomenghubungkan ke suatu direktori bar/dan saya mulai mengetik fdan menekan tab, itu selesai footetapi saya ingin menyelesaikannya foo/sehingga saya dapat segera menambahkan karakter berikutnya untuk penyelesaian lebih lanjut. Bagaimana saya bisa melakukan itu?

menandai
sumber

Jawaban:

70

Aktifkan mark-symlinked-directoriesopsi untuk readline .

  1. Edit ~/.inputrc:

    $include /etc/inputrc
    set mark-symlinked-directories on
    
  2. Tekan C-x, C-runtuk memuat ulang pengaturan.

Lihat bagian READLINE di halaman manual bashuntuk dokumentasi lebih lanjut.

Bagi mereka yang tidak ingin menambahkan file dot lain, Anda juga dapat menambahkan baris ini ke ~/.bashrc:

bind 'set mark-symlinked-directories on'
grawity
sumber
Terima kasih banyak, saya telah berurusan dengan perbedaan antara OSX (default ke on) dan Linux (default ke off) selama berbulan-bulan, dan akhirnya saya cukup muak untuk google itu! Anda adalah pahlawan baru saya. :)
staticfloat
3
Pada beberapa terminal Cx, Cr tidak bekerja untuk saya jadi saya gunakanbind -f ~/.inputrc
blockloop
3
Ini menunjukkan kekuatan stackexchange yang dikombinasikan dengan jawaban sederhana dan pertanyaan yang diformulasikan dengan baik, menjawab pertanyaan saya dalam upaya pertama, sampai di sini melalui google, terima kasih. :)
DusteD
1
untuk apa baris ini $include /etc/inputrc?
razzak
@razzak: Memuat pengaturan tambahan dari file itu, yang biasanya memiliki berbagai ikatan kunci standar untuk terminal umum. (Biasanya mereka dimuat secara otomatis, tetapi jika Anda memiliki milik ~/.inputrcAnda sendiri, Anda perlu memuat satu sistem secara manual.) Lihat bagian READLINE di halaman manual bashuntuk dokumentasi lebih lanjut.
grawity
3

Saya tidak tahu apakah Anda bisa melakukannya persis seperti yang Anda jelaskan, tetapi jika Anda menekan tabdua kali, itu akan menyelesaikan exapansion.

Kevin M.
sumber