Bash автозаполнение по символической ссылке на каталог, завершенный на весь каталог, включая косую черту [duplicate]

44

Возможный дубликат:
завершение табуляции с помощью каталогов / ссылок

когда у меня есть символическая ссылка, fooссылающаяся на каталог, bar/и я начинаю печатать fи нажимать tab, она завершается, fooно я хотел бы завершить ее, foo/чтобы я мог немедленно добавить следующий символ для дальнейших завершений. Как я могу это сделать?

отметка
источник

Ответы:

70

Включите mark-symlinked-directoriesопцию для readline .

  1. Редактировать ~/.inputrc:

    $include /etc/inputrc
    set mark-symlinked-directories on
    
  2. Нажмите C-x, C-rчтобы перезагрузить настройки.

Смотрите раздел READLINE на странице руководства bashдля дальнейшей документации.

Для тех, кто не хочет добавлять другой файл точек, вы также можете добавить эту строку в ваш ~/.bashrc:

bind 'set mark-symlinked-directories on'
grawity
источник
Большое спасибо, я уже несколько месяцев сталкиваюсь с различиями между OSX (по умолчанию on) и Linux (по умолчанию off), и я наконец сыт по горло достаточно, чтобы погуглить! Ты мой новый герой. :)
staticfloat
3
На некоторых терминалах Cx Cr у меня не работал, поэтому я используюbind -f ~/.inputrc
blockloop
3
Это показывает мощь стека обмена в сочетании с простым ответом и хорошо сформулированным вопросом, ответил на мой вопрос с первой попытки, попал сюда через гугл, спасибо. :)
DusteD
1
для чего эта линия $include /etc/inputrc?
Раззак
@razzak: загружает дополнительные настройки из этого файла, который обычно имеет различные стандартные сочетания клавиш для общих терминалов. (Обычно они загружаются автоматически, но если у вас есть ~/.inputrcсобственный, вам нужно загрузить общесистемный файл вручную.) См. Раздел READLINE на странице bashсправки для получения дополнительной документации.
Гравитация
3

Я не знаю, сможете ли вы сделать это в точности так, как вы описали, но если вы нажмете tabдважды, это должно завершить удаление.

Кевин М
источник