Ich habe gesucht und versucht, überschwängliche Ctags ohne Glück mit dem, was ich tun möchte, zu verwenden. Ich bin auf einem Mac, der versucht, in einem Projekt zu arbeiten, wo ich solche Verzeichnisse wie .git, node_modules, Test usw. ausschließen möchte. Wenn ich etwas wie ctags -R --exclude=[.git, node_modules, test]
versuche, bekomme ich nichts zurück. Ich muss es wirklich nur in meinem Hauptverzeichnis laufen lassen. Irgendwelche Ideen, wie man das erreicht?Wie man mehrere Verzeichnisse mit Exuberant Ctags ausschließt?
Antwort
Die Option --exclude
erwartet keine Liste von Dateien. Laut der Manpage ctags
, "Diese Option kann so oft wie gewünscht angegeben werden." Also, es ist so:
ctags -R --exclude=.git --exclude=node_modules --exclude=test
Ok, das hat teilweise funktioniert. Ich muss also keine andere Frage stellen und Ihnen die Antwort geben - gibt es eine Möglichkeit, nur ein Verzeichnis einzubinden und das Ausschließen nicht zu machen? Alles, was ich brauche, ist mein Hauptverzeichnis – pertrai1
Ich denke, Sie könnten einfach das gewünschte Verzeichnis nennen, nicht? Wie 'ctags -R your_dir'. Oder ich verstehe nicht, was du meinst. – aalazz
Ja, wenn ich das versuche, markiert es nichts aus dem Core-Verzeichnis. :-( – pertrai1
R ead T er F antastic M anual sollte immer der erste Schritt jeder Versuch, ein Problem zu lösen.
Von $ man ctags
:
--exclude=[pattern]
Add pattern to a list of excluded files and directories. This option may
be specified as many times as desired. For each file name considered by
both the complete path (e.g. some/path/base.ext) and the base name (e.g.
base.ext) of the file, thus allowing patterns which match a given file
name irrespective of its path, or match only a specific path. If appro-
priate support is available from the runtime library of your C compiler,
then pattern may contain the usual shell wildcards (not regular expres-
sions) common on Unix (be sure to quote the option parameter to protect
the wildcards from being expanded by the shell before being passed to
ctags; also be aware that wildcards can match the slash character, '/').
You can determine if shell wildcards are available on your platform by
examining the output of the --version option, which will include "+wild-
cards" in the compiled feature list; otherwise, pattern is matched
against file names using a simple textual comparison.
If pattern begins with the character '@', then the rest of the string is
interpreted as a file name from which to read exclusion patterns, one per
line. If pattern is empty, the list of excluded patterns is cleared.
Note that at program startup, the default exclude list contains "EIFGEN",
"SCCS", "RCS", and "CVS", which are names of directories for which it is
generally not desirable to descend while processing the --recurse option.
Aus den beiden ersten Sätzen erhalten Sie:
$ ctags -R --exclude=dir1 --exclude=dir2 --exclude=dir3 .
, die ein bisschen ausführlicher sein können, aber das ist, was Aliase und Zuordnungen und so weiter sind für. Als Alternative, erhalten Sie diese aus dem zweiten Absatz:
$ ctags -R [email protected] .
mit den folgenden in .ctagsignore
:
dir1
dir2
dir3
, die ohne so viel Typisierung ohne diese drei Verzeichnisse ausarbeitet.
Hmmm. Upvoted als handliche Antwort, aber raten Sie, dass macht mich eine schlechte Person, wie ich hätte RTFM'ed anstatt hier zu kommen! – artfulrobot
Sie können eine durch Kommata getrennte Liste mit geschweiften Klammern kapseln Multiples mit einer --exclude
Option zu handhaben:
ctags -R --exclude={folder1,folder2,folder3}
Dies erscheint nur die für Ordner in der Wurzel zu arbeiten, in dem Sie den Befehl ausgeben. Das Ausschließen verschachtelter Ordner erfordert eine separate Option --exclude
.
Schlaue Verwendung von Shell Brace Expansion! –
- 1. Bei Verwendung von exuberant-Ctags welche Optionen verwenden Sie?
- 2. Wie man .svn Verzeichnisse von der Suche in Eclipse ausschließt?
- 3. SubGit: Wie man Zweige ausschließt?
- 4. Wie navigiere ich mehrere Ctags in Vim?
- 5. Wie man einen oder mehrere e2e Tests in Winkelmesser ausschließt
- 6. Wie erstellt man mehrere Verzeichnisse mit Unterverzeichnissen aus einer Textdatei?
- 7. Rekursivsuche mehrere Verzeichnisse mit os.walk()
- 8. Mehrere Verzeichnisse mit Apache versorgen
- 9. mehrere Verzeichnisse erstellen mit ansible
- 10. Wie man eine URL von HTTPS ausschließt
- 11. Globbing in C, wie man Dateien ausschließt
- 12. Wie man Verzeichnisse umbenennt?
- 13. Wie man amd_3dnow Befehlssatz ausschließt, wenn openssl
- 14. Wie man Knoten vom Pfad ausschließt?
- 15. Babel ignorieren mehrere Verzeichnisse
- 16. Mehrere Verzeichnisse in -Djava.library.path
- 17. sass watching mehrere Verzeichnisse
- 18. System.IO.Compression.ZipFile mehrere Verzeichnisse
- 19. Vim & Ctags: Gemeinsame Ctags über alle Projekte?
- 20. ctags kann nicht geöffnet Option Datei „.ctags“
- 21. Ctags + Taglist für .cu (CUDA) Dateien
- 22. Silber Sucher ignorieren mehrere Verzeichnisse
- 23. java -cp [Befehlszeile] mehrere Verzeichnisse
- 24. Wie benutzt man Shell-Magie, um mit GNU-Etags rekursive Etags zu erzeugen?
- 25. laravel wie man einzigartige Regel ausschließt, die leeres oder null ausschließt
- 26. Funktion auf mehrere Verzeichnisse anwenden
- 27. TortoiseSVN - Auschecken in mehrere Verzeichnisse?
- 28. Gradle: Wie man das javax.realtime Paket aus der JScience jar Abhängigkeit ausschließt (Mehrere dex definieren)
- 29. Wie man ein Element von der ng-click-Aktion ausschließt
- 30. Wie man 0 von der MIN-Formel ausschließt Excel
Mögliche Duplikate von [Ausschließen von Verzeichnissen in üppigen CTags] (https://stackoverflow.com/questions/8193178/expluding-directories-in-exuberant-ctags) –