2013-06-03 12 views
5

Wenn Tabulatorvervollständigung verwenden, halte ich Vorschläge für .svn-Dateien bekommen, so, ls verwenden, sieht meine Ausgabe wie folgt:Bash Completion Tab Schlägt versteckte SVN Dateien

[spaceplace]$ ls src/ 
main/ .svn/ 
[spaceplace]$ ls src/ 
main/ .svn/ 
[spaceplace]$ ls src/ 
main/ .svn/ 
[spaceplace]$ ls src/main/ 
java/  resources/ .svn/  
[spaceplace]$ ls src/main/ 
java/  resources/ .svn/ 

Die .svn Dateien nicht zeigen wenn ich gerade ls benutze, weiß ich nicht warum sie angezeigt werden, wenn ich tab complete benutze. Das Problem scheint nur mit den .svn-Dateien und keine anderen versteckten Dateien zu existieren, was merkwürdig erscheint. Wie kann ich erreichen, dass diese Dateien nicht angezeigt werden, wenn ich den Tab "Complete" verwende?

+1

Weil glob-completion von null versteckte Dateien nicht ausschließt ... – demure

+0

Warum also nicht '.' und' ..' dann auftauchen? – fvrghl

+0

Weil es sie ausschließt. –

Antwort

7

Ich fand einen Weg, es zu tun; In meiner .bashrc habe ich die Zeile bind 'set match-hidden-files off' hinzugefügt. Jetzt beginnen alle Dateien mit "." nicht angezeigt, es sei denn Sie explizit angeben.

0

Die Tab-Vervollständigung schließt versteckte Dateien nicht aus. Es handelt wie beabsichtigt. Wenn Sie eine ls -a machen, werden die versteckten Dateien angezeigt.

Es ist erwähnenswert, dass alle Dateien/Ordner, die mit einem beginnen. sind versteckte Dateien. In der Befehlszeile wird davon ausgegangen, dass Sie auf diese Dateien zugreifen müssen, weshalb sie in der Autovervollständigung vorgeschlagen werden.

+1

Ich möchte die versteckten Dateien nicht sehen – fvrghl

2

Bash ermöglicht festzulegen, welche Dateien oder Verzeichnisse bei der Vervollständigung von Tabs aufgrund von Erweiterungen ignoriert werden sollen, z. alle Dateien oder Verzeichnisse *.svn

$ export FIGNORE=$FIGNORE:.svn 

Je nachdem, wie Sie Ihre Dateien werden diese zu viel (für mich zumindest funktionierte es gut) kollidieren sollte nicht in der Regel genannt genannt zu ignorieren.

+0

Wird dieser Befehl alle Dateien mit dem Namen * .svn in Tab-Vervollständigung ausblenden, auch wenn ich es explizit angeben? Zum Beispiel, wenn ich 'ls/test/.sv' sage, wird es zu' ls/test/.svn' vervollständigt? – fvrghl

+0

Nein, wird es nicht, aber sobald Sie '.sv' eingegeben haben, würde ich argumentieren, dass das Drücken eines einzigen' n' noch ergonomischer ist, als auf 'TAB' zu gehen. Aber du hast recht, wenn du längere Namen ignorierst, kann das mühsam werden (ich habe momentan nur 'CVS'). –

+0

Danke! Ich wollte nur wissen, was der Befehl tun würde, bevor ich es versuchte. – fvrghl

Verwandte Themen