Bash-Autovervollständigung bei Symlink zum Verzeichnis vollständig zum gesamten Verzeichnis, einschließlich Schrägstrich [duplizieren]

44

Mögliches Duplikat:
Tab-Vervollständigung mit Verzeichnissen / Links

Wenn ich einen Symlink foozu einem Verzeichnis habe bar/und mit dem Tippen fund Drücken beginne, wird der Link zu tababgeschlossen, fooaber ich möchte ihn zu abgeschlossen haben, foo/damit ich sofort das nächste Zeichen für weitere Vervollständigungen hinzufügen kann. Wie kann ich das machen?

Kennzeichen
quelle

Antworten:

70

Aktivieren Sie die mark-symlinked-directoriesOption für readline .

  1. Bearbeiten ~/.inputrc:

    $include /etc/inputrc
    set mark-symlinked-directories on
    
  2. Drücken Sie C-x, C-rum die Einstellungen neu zu laden.

Weitere Dokumentation finden Sie im Abschnitt READLINE auf der Manualpage von bash.

Für diejenigen, die keine weitere Punktedatei hinzufügen möchten, können Sie diese Zeile auch zu Ihrem hinzufügen ~/.bashrc:

bind 'set mark-symlinked-directories on'
Grawity
quelle
Vielen Dank, ich beschäftige mich seit Monaten mit den Unterschieden zwischen OSX (Standardeinstellung on) und Linux (Standardeinstellung off) und habe es endlich satt, es zu googeln! Du bist mein neuer Held. :)
staticfloat
3
Auf einigen Terminals Cx funktionierte Cr nicht für mich, daher verwende ichbind -f ~/.inputrc
blockloop
3
Dies zeigt die Kraft des Stapelaustauschs in Kombination mit einer einfachen Antwort und einer gut formulierten Frage, die ich im ersten Versuch beantwortet habe und die ich über Google erhalten habe, danke. :)
DusteD
1
Wofür ist diese Zeile $include /etc/inputrc?
Razzak
@razzak: Lädt zusätzliche Einstellungen aus dieser Datei, die normalerweise verschiedene Standard-Tastenkombinationen für gängige Terminals enthält. (Normalerweise werden sie automatisch geladen, aber wenn Sie eine ~/.inputrceigene haben, müssen Sie die systemweite manuell laden.) Weitere Dokumentation finden Sie im Abschnitt READLINE auf der Handbuchseite von bash.
Grawity
3

Ich weiß nicht, ob Sie es genau so machen können, wie Sie es beschrieben haben, aber wenn Sie tabzweimal drücken, sollte es die Erweiterung vervollständigen.

Kevin M
quelle