Wie suche ich LaTeX-Dokumente in Spotlight?

12

Ich habe das Problem jetzt auch in El Capitan mit neuen Komponenten (Motherboard, 3x SSD) in meinem Macbook Air 2013-mid reproduziert. Ich habe OS X (El Capitan, Yosemite) während des Tests sauber installiert. Das neueste OS X, in dem die .tex-Suche funktioniert, ist 10.8.5 in Spotlight. Derzeit werden in meiner Spotlight-Suche keine .tex-Dokumente angezeigt. Tests

  • Keine aktuelle Antwort löst das Problem dauerhaft. In Yosemite kehrte das Problem nach einiger Zeit mit einigen Antworten zurück. Es gibt keine stabile Lösung und wenig Verständnis für die Ursache des Problems.

Die Auswahl der Einstellungskonfigurationen ist in Spotlight nicht relevant, da wir den Befehl direkt mdfindim Terminal verwenden können, der Spotlight entspricht. Wir haben jedoch Standard-, Minimal- und Volleinstellungen in Spotlight ausprobiert. Für die Tests verwenden wir die Standardeinstellungen in OS X. System und Anwendungen

  • Systeme OS X Yosemite, OS X El Capitan
  • TexShop.app ist installiert. (MacTeX 2015, mactex-20150613.pkg).
  • Tex App: TextMate2-beta8
  • Spotlight / Finder / jede Such-App funktioniert nicht mit TeX-Dateien und MacTeX 2015
  • Spotlight funktioniert erwartungsgemäß mit verschiedenen Einstellungen und auch mit MacTeX 2015.

Der Befehl mdfind(Version 10. Juni 2004) entspricht der Spotlight-Suche, also einem einfachen Test, der in meinem System nichts erfolglos zurückgibt

mdfind sulfas | grep tex

Ich denke, das Problem ist, dass das System das Dateiformat .tex` nicht erkennt. Das erste ist, dass das System es erkennt.

Der Vorschlag von tjt263, nur .tex in Finder / Spotlight zu suchen

Die Ausgabe von Spotlight .texoder der Terminal-Befehl gibt tex-Dateien in meinem System korrekt an. .tex diabetesWenn Sie es jedoch mit anderen Begriffen wie by kombinieren, erhalten Sie keine tex-Dateien mehr. Importeure erhalten von mdimport -L:

2015-09-22 15:31:42.352 mdimport[8163:707] Paths: id(502) (
    "/Library/Spotlight/iBooksAuthor.mdimporter",
    "/Library/Spotlight/iWork.mdimporter",
    "/Library/Spotlight/Microsoft Office.mdimporter",
    "/System/Library/Spotlight/Application.mdimporter",
    "/System/Library/Spotlight/Archives.mdimporter",
    "/System/Library/Spotlight/Audio.mdimporter",
    "/System/Library/Spotlight/Automator.mdimporter",
    "/System/Library/Spotlight/Bookmarks.mdimporter",
    "/System/Library/Spotlight/Chat.mdimporter",
    "/System/Library/Spotlight/CoreMedia.mdimporter",
    "/System/Library/Spotlight/Font.mdimporter",
    "/System/Library/Spotlight/iCal.mdimporter",
    "/System/Library/Spotlight/Image.mdimporter",
    "/System/Library/Spotlight/iPhoto.mdimporter",
    "/System/Library/Spotlight/iPhoto8.mdimporter",
    "/System/Library/Spotlight/Mail.mdimporter",
    "/System/Library/Spotlight/MIDI.mdimporter",
    "/System/Library/Spotlight/Notes.mdimporter",
    "/System/Library/Spotlight/PDF.mdimporter",
    "/System/Library/Spotlight/PS.mdimporter",
    "/System/Library/Spotlight/QuartzComposer.mdimporter",
    "/System/Library/Spotlight/RichText.mdimporter",
    "/System/Library/Spotlight/SystemPrefs.mdimporter",
    "/System/Library/Spotlight/vCard.mdimporter",
    "/Applications/Microsoft Office 2011/Microsoft Outlook.app/Contents/Library/Spotlight/Microsoft Outlook.mdimporter",
    "/Applications/Xcode.app/Contents/Library/Spotlight/uuid.mdimporter",
    "/Applications/DjView.app/Contents/Library/Spotlight/DjVu.mdimporter"
)

Tests von bmikes

Die Datei notes.tex kann im Finder nicht durchsucht werden. Ich ändere es in notes.txt, die ich jetzt im Finder suchen kann. Dies schlägt mir das Problem des Suchprogramms nicht vor (Spotlight, md ..., was auch immer Sie verwenden, wie ich oft in Kommentaren beschrieben habe). Also tex-problem im system. Ausgaben derselben Datei, jedoch mit zwei unterschiedlichen Endungen. Ausgabe der txt-Datei:

15:42:23:Desktop:masi$ mdls 8.9.2015.txt 
kMDItemContentCreationDate     = 2015-09-22 13:38:31 +0000
kMDItemContentModificationDate = 2015-09-22 13:38:31 +0000
kMDItemContentType             = "public.plain-text"
kMDItemContentTypeTree         = (
    "public.plain-text",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)
kMDItemDateAdded               = 2015-09-22 13:39:22 +0000
kMDItemDisplayName             = "8.9.2015.txt"
kMDItemFSContentChangeDate     = 2015-09-22 13:38:31 +0000
kMDItemFSCreationDate          = 2015-09-22 13:38:31 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = 0
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = 0
kMDItemFSLabel                 = 0
kMDItemFSName                  = "8.9.2015.txt"
kMDItemFSNodeCount             = 62503
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 502
kMDItemFSSize                  = 62503
kMDItemFSTypeCode              = ""
kMDItemKind                    = "Plain Text Document"
kMDItemLogicalSize             = 62503
kMDItemPhysicalSize            = 65536

Ausgabe der tex-Datei:

15:42:27:Desktop:masi$ mdls 8.9.2015.tex 
kMDItemContentCreationDate     = 2015-09-22 13:38:31 +0000
kMDItemContentModificationDate = 2015-09-22 13:38:31 +0000
kMDItemContentType             = "org.tug.tex"
kMDItemContentTypeTree         = (
    "org.tug.tex",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)
kMDItemDateAdded               = 2015-09-22 13:42:37 +0000
kMDItemDisplayName             = "8.9.2015.tex"
kMDItemFSContentChangeDate     = 2015-09-22 13:38:31 +0000
kMDItemFSCreationDate          = 2015-09-22 13:38:31 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = 0
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = 0
kMDItemFSLabel                 = 0
kMDItemFSName                  = "8.9.2015.tex"
kMDItemFSNodeCount             = 62503
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 502
kMDItemFSSize                  = 62503
kMDItemFSTypeCode              = ""
kMDItemKind                    = "TeX document"
kMDItemLogicalSize             = 62503
kMDItemPhysicalSize            = 65536

Gesuchte Befehle:

mkdir /Users/masi/Desktop/masi
18:07:56:~:masii$ cp /tmp/8.9.2015.tex /Users/masi/Desktop/masi/
18:08:09:~:masi$ cd /Users/masi/Desktop/masi/
18:08:16:masi:masi$ echo osteoporosis > test_file.txt
18:08:24:masi:masi$ mdfind osteoporosis |grep /Users/masi/Desktop/masi/
/Users/masi/Desktop/masi/test_file.txt
18:08:47:masi:masi$ mdls -name kMDItemContentType test_file.txt 
kdItemContentType = (public.plain-text)
18:09:49:masi:masi$ mv test_file.txt test_file.tex
18:10:14:masi:masi$ mdfind osteoporosis | grep /Users/masi/Desktop/masi/
18:10:20:masi:masi$ mdls -name kMDItemContentType test_file.tex 
kMDItemContentType = "org.tug.tex"

Aktuelle Diagnosetools Verwenden und Diskutieren im Chat

Gut versteckter Befehl von Ist es möglich, die Datenbank der Startdienste nach Anwendungen abzufragen, die eine beliebige Datei oder einen beliebigen UTI-Typ öffnen?

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump | grep -n7 org.tug.tex

Wir haben festgestellt, dass der TeXShop des MacTeX 2015 keinen TeX.mdimporter hat. Wenn Sie dies installieren, erhalten Sie in der letzten Zeile Folgendes mdimport -L:

"/Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter")

Erfolgloser Versuch mit Patrix

mkdir -p ~/Library/Spotlight; ln -s /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter ~/Library/Spotlight/

wonach rm ~/Library/Spotlight/TeX.mdimporterund reseted wir den Index von Spotlight von Festplatte zum Verhindern -PLATTENWENDEVORRICHTUNGEN bewegen und es schnell zu entfernen, so dass nun einige Zeit in Anspruch Index das System nehmen.

Klanomaths Antwortergebnisse, die eines Tages funktionierten, bis sie in den schlechten Zustand zurückkehrten

Ich bekomme instabil einige .tex-Dateien in mdfind. Nach einem Tag Verwendung ab dem Beginn dieses Vorschlags kehrte der Zustand in den schlechten Zustand zurück:

  • Die Osteoporose- Suche gibt dieselben Dateien wie vor einem Tag zurück, aber ich habe festgestellt, dass die Dateien, die in letzter Zeit in Suchübereinstimmungen nicht sichtbar waren und bei der letzten Bearbeitung ausreichend lange waren, in der Suche nicht sichtbar sind
  • Es werden nur kürzlich bearbeitete Dateien angezeigt, und manchmal sogar 3,5 Monate alte Dateien

Laufen 18:25:06:~:masi$ /usr/bin/mdimport -d3 /Users/masi/Dropbox/Internal\ Diseases/24.9.2015.texund bekommen

(Debug) Import: file:/Users/masi/Dropbox/Internal Diseases/24.9.2015.tex plugin:file://localhost/Library/Spotlight/TeX.mdimporter/ /Library/Spotlight/TeX.mdimporter
(Info) Import: edu.uo.texshop.tex 
(Debug) Import: Attributes for file /Users/masi/Dropbox/Internal Diseases/24.9.2015.tex: {
    ":MD:kMDExtendedImportDictionary" =     {
    };
    "_kMDItemFinderLabel" = 0;
    "com_apple_metadata_modtime" = 464803819;
    kMDItemContentCreationDate = "2015-09-23 19:57:11 +0000";
    kMDItemContentModificationDate = "2015-09-24 16:10:19 +0000";
    kMDItemContentType = "edu.uo.texshop.tex";
    kMDItemContentTypeTree =     (
        "edu.uo.texshop.tex",
        "public.text",
        "public.data",
        "public.item",
        "public.content",
        "public.plain-text",
        "org.tug.tex"
    );
    kMDItemDateAdded = "2015-09-23 19:57:11 +0000";
    kMDItemDisplayName =     {
        "" = "24.9.2015.tex";
    };
    kMDItemKind =     {
        "" = "TeX File";
        en = "TeX File";
        pt = "Documento TeX";
    };
    kMDItemLogicalSize = 18220;
    kMDItemPhysicalSize = 20480;
    kMDItemTextContent = "\...";
}
2015-09-24 18:25:50.335 mdimport[6875:707] Imported '/Users/masi/Dropbox/Internal Diseases/24.9.2015.tex' of type 'edu.uo.texshop.tex' with plugIn /Library/Spotlight/TeX.mdimporter.
2015-09-24 18:25:50.336 mdimport[6875:707] Attributes: {
    ":MD:kMDExtendedImportDictionary" =     {
    };
    "_kMDItemFinderLabel" = 0;
    "_kMDItemStaticInterestScore" = "0.5";
    "com_apple_metadata_modtime" = 464803819;
    kMDItemContentCreationDate = "2015-09-23 19:57:11 +0000";
    kMDItemContentModificationDate = "2015-09-24 16:10:19 +0000";
    kMDItemContentType = "edu.uo.texshop.tex";
    kMDItemContentTypeTree =     (
        "edu.uo.texshop.tex",
        "public.text",
        "public.data",
        "public.item",
        "public.content",
        "public.plain-text",
        "org.tug.tex"
    );
    kMDItemDateAdded = "2015-09-23 19:57:11 +0000";
    kMDItemDisplayName =     {
        "" = "24.9.2015.tex";
    };
    kMDItemKind =     {
        "" = "TeX File";
        en = "TeX File";
        pt = "Documento TeX";
    };
    kMDItemLogicalSize = 18220;
    kMDItemPhysicalSize = 20480;
    kMDItemTextContent = "\...";
}

Erraten Sie den Ursprung des Problems: /Volumes/Disc/.Spotlight-V100 / ...

Ich habe die Dynamik des Speichers zu verschiedenen Zeitpunkten untersucht, indem fdupes -rd /Volumes/Disc2/das folgende Beispiel während der Indizierung verwendet wird:

[1] /Users/masi/Dropbox/det2/plan.tex
[2] /Volumes/Disc2/.Spotlight-V100/Store-V2/440B4DE1-129F-46AB-9D58-14F473B0282A/Cache/0000/0000/0003/213630.txt
[3] /Volumes/Disc2/.Spotlight-V100/Store-V2/440B4DE1-129F-46AB-9D58-14F473B0282A/Cache/0000/0000/0003/213631.txt
[4] /Volumes/Disc2/.Spotlight-V100/Store-V2/440B4DE1-129F-46AB-9D58-14F473B0282A/Cache/0000/0000/0003/213633.txt
... [10] sometimes much more
---

Dabei besteht der Dateiinhalt aus zwei Leerzeilen. Sie sehen viele doppelte Einträge, die von Spotlight für seinen Index erstellt wurden. Der Spotlight-Index weist in vielen Punkten seiner Funktionsweise viele Duplikate auf. Ich habe dieses Verhalten auch in verschiedenen Medien untersucht. Während der Indizierung und während des stabilen Zeitraums, in dem die Indizierung durchgeführt wird, werden viele Dummy- / Duplikatdateien erstellt. Ich denke, Apple hat beim Entwerfen des von Spotlight verwendeten Index schlechte Arbeit geleistet.


Wie können Sie LaTeX-Dokumente mit mdfind / Spotlight / Finder durchsuchen?

Léo Léopold Hertz 준영
quelle
Da A) dies eine gute Frage ist, da es durch die Überschneidung von Spotlight, Dateitypen und Startdienstdatenbank kompliziert ist, b) viel Hin und Her erforderlich ist, habe ich einen Chatraum eingerichtet, um das Problem zu diskutieren / bei der Fehlerbehebung zu wiederholen damit die Beiträge nicht unordentlicher werden als nötig. chat.stackexchange.com/rooms/info/29405/…
bmike
1
Bitte fügen Sie dem Fragentext keine Antworten hinzu, sondern geben Sie ihn stattdessen unten als Antwort ein.
Nohillside
Ich habe hier die gleichen Probleme. Darüber hinaus sind die Symbole für .tex-Dokumente leer (allgemein). Vielleicht hängen die beiden Themen zusammen?
user11126
@ user11126 Bitte beachten Sie die akzeptierte Antwort. Apple hat seit vielen Jahren keine Motivation gezeigt, das Problem zu lösen. Siehe die akzeptierte Antwort und ihren Vorschlag ohne Spotlight. Der Terminalansatz funktioniert viel besser. - - Zum zweiten - Sie haben möglicherweise MacTex nicht installiert oder Sie haben einen Fehler in der Konfiguration.
Léo Léopold Hertz 준영

Antworten:

5

Dies ist wahrscheinlich auf den von Ihnen verwendeten Editor / die Software für TEX zurückzuführen, da Sie keinen Spotlight-Importer zum Verarbeiten von Nur-Text-Dateien benötigen. (Sie können also einfach den benutzerdefinierten Importer Ihrer App löschen oder ein Update / einen anderen Importer auswählen.)

Anstatt den Fall zu erraten - hier erfahren Sie, wo das Problem liegt. Der Editor könnte den ** kMDItemContentType ** in einen nicht indizierten ändern, oder Sie haben eine Spotlight-Erweiterung eines Drittanbieters, die abstürzt. Hier ist, wie ich wissen würde, welche davon (oder etwas Unerwartetes) passiert:

A) Indiziert Spotlight eine beliebige Textdatei, wenn Sie die Erweiterung von .txt in .tex ändern?
B) Vergleichen Sie die Metadaten für die Dateien, um zu wissen, was mit verwendet wirdmdls


Um A zu testen, öffnen Sie Textbearbeitung und fügen Sie ein Wort in das Dokument ein: Osteoporose

Konvertieren Sie das Dokument bei Bedarf in einfachen Text (wahrscheinlich Rich-Text) - Umschalt + Befehl + T (oder verwenden Sie das Format-Menü - Nur Text erstellen) und speichern Sie es auf Ihrem Desktop als file.txt - Wenn im Format-Menü Make Rich angezeigt wird Text dann nicht die Tasten drücken und nur das Dokument speichern.

Zu diesem Zeitpunkt sollte Spotlight die Datei sofort sehen. Wenn nicht, haben Sie ein Spotlight-Problem und keine Probleme mit der .tex-Datei. Dies ist ein sehr grundlegendes Problem, wenn Ihr Scheinwerfer defekt ist, um keine einfachen Textdateien zu indizieren. Wenn dies funktioniert, ändern Sie die Erweiterung .txt in .tex und überprüfen Sie das Spotlight erneut.


Für Test B - Verwenden Sie den mdlsBefehl, um die Metadatenunterschiede zwischen Ihrer Datei und der TextEdit-Datei zu untersuchen, die mit Spotlight funktionieren. Achten Sie besonders auf folgende Felder:

kMDItemContentType             = "public.plain-text"
kMDItemContentTypeTree         = (
    "public.plain-text",
    "public.text",
    "public.data",
    "public.item",
    "public.content"
)
kMDItemKind                    = "Plain Text Document"

Das Ändern von .txt in .tex führt zu einer Änderung (da ich keine Anwendung habe, die die Dateierweiterung von .tex beansprucht und sie einer Startdienst- / Spotlight-Klassifizierung und einem ordnungsgemäßen kMDItemContentType / kMDItemKind im Gegensatz zu einem generischen und ad / hoc zuordnet Art:

kMDItemContentType             = "dyn.ah62d4rv4ge81k3p2"
kMDItemContentTypeTree         = (
    "dyn.ah62d4rv4ge81k3p2",
    "public.data",
    "public.item"
)
kMDItemKind                    = "Document"

Hier ist ein kurzer Test, den Sie ausschneiden / einfügen können, wenn Ihre Terminalfähigkeiten noch nicht entwickelt sind. Der Inhalt aller Dateinamen test_file auf Ihrem Desktop wird gelöscht. Erstellen Sie daher eine Sicherungskopie, wenn Sie sich nicht sicher sind, bevor Sie die folgenden Befehle einfügen:

cd ~/Desktop/
echo osteoporosis > test_file.txt
mdfind osteoporosis | grep Desktop
mdls  -name kMDItemContentType test_file.txt 
mv test_file.txt test_file.tex
mdfind osteoporosis | grep Desktop
mdls  -name kMDItemContentType test_file.tex 

Die mdfindBefehle entsprechen der Verwendung von Spotlight. Überprüfen Sie daher, ob die Terminalsuche mit der Spotlight-Suche in diesem Moment übereinstimmt.

Als Fußnote werden diese Tools nur zur Diagnose des Ausmaßes des Bruchs benötigt und sind letztendlich kein Ersatz für die Spotlight-Suche. Nur, dass Sie ein Spotlight-Problem nicht allein mit Spotlight diagnostizieren können. Möglicherweise möchten Sie auch das Konsolenprotokoll anzeigen, während Sie die Schritte ausführen, ~/Desktopfalls beim Stöbern im Subsystem Absturzberichte oder andere Spotlight-Diagnosen auftreten.

Außerdem wird es schnell unangenehm, wenn Sie das Nur-Text-Dokument durchsuchen können, aber nicht das Text-Dokument. In Ihrem Update haben Sie erwähnt, dass .tex-Dateien vom Typ "org.tug.tex" sind. Sie können die Datenbank der Startdienste durchsuchen, um herauszufinden, welche Importeure das System für das Parsen dieser Datei verantwortlich macht, und sie entfernen (oder einfach eine erstellen) fundierte Vermutung und vorübergehende Löschung der TEX-Apps, um zu sehen, ob das Spotlight vorübergehend "behoben" wird).

lsregister -dump| grep -n7 org.tug.tex

Wo lsregisterbefindet sich ein gut verstecktes Tool in / System? In diesem Thread unter SuperUser finden Sie Informationen zu den Startdiensten: /superuser/323599/ und diesen Thread hier: Doppelte Einträge im Menü "Öffnen mit" im Finder Auch nach dem Wiederaufbau von Launch Services können Sie einige merkwürdige Dinge ausprobieren. Ich bin ziemlich zuversichtlich, dass ich in etwa 20 Minuten herausfinden kann, was auf Ihrem System nicht stimmt, aber es erweist sich als schwieriger als erwartet, alle Möglichkeiten auf eine für Sie zugängliche Weise aufzuschreiben und ein paar Antworten zu erraten.

bmike
quelle
Lassen Sie uns diese Diskussion im Chat fortsetzen .
bmike
Ich habe den Entwickler von Textmate kontaktiert und möchte diese Behauptung bestätigen. Das Problem wird jetzt auch in El Capitan reproduziert.
Léo Léopold Hertz 3
4

Ich habe versucht, Ihre Spotlight-Probleme in einer mit Mac OS X 10.8 eingerichteten virtuellen Maschine zu reproduzieren.

Nach der Installation von MacTex-20150613 und der Aktualisierung aller Komponenten (> 300) einschließlich TexShop und LaTeXiT hatte ich keine Probleme bei der Suche nach Inhalten in * .tex-Dateien.

Nach der Eingabe:

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user

Es ist mir "gelungen", die Fähigkeit zu verlieren, nach Inhalten in * .tex-Dateien zu suchen.

Um die Fähigkeit dazu wiederzugewinnen, habe ich Folgendes getan:

  • Als Administrator angemeldet Ich habe die Datei /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter nach / Library / Spotlight / mit kopiert

    sudo cp -R /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter  /Library/Spotlight/
    
  • Bereiten Sie die Neuindizierung meines Systems vor, indem Sie zuerst in den Ordner /.Spotlight-V100 (in der Finder-Menüleiste -> Gehe zu -> Gehe zu Ordner ... gehen und /.Spotlight-V100 eingeben) und alle Dateien und Ordner in diesem Ordner verschieben in den Mülleimer. Sie müssen dazu Ihr Administratorkennwort eingeben. Wenn Sie den Ordner nicht eingeben können, melden Sie sich als root an (möglicherweise müssen Sie root zuerst mit / System / Library / CoreServices / Directory Utility.app aktivieren) und den Inhalt des Ordners als root entfernen.
  • Mac neu gestartet
  • Als Administrator angemeldet und den Papierkorb geleert. Die Neuindizierung wird automatisch gestartet.

Die kontinuierliche Überprüfung aller relevanten Informationen wie Dateiattribute oder Startdienste in verschiedenen Systemzuständen (mit mehreren VM-Snapshots) mit mdls , xattr und anderen Tools ergab nichts Interessantes oder Verdächtiges.


Ich habe alle oben genannten Schritte in einer neuen VM gründlicher wiederholt und mdimport -d3das Verhalten von Spotlight überprüft.

In einem Vanilla Mac OS X wird eine .tex-Datei ordnungsgemäß mit einem dyn.random-Importer importiert:

host:~user$ /usr/bin/mdimport -d3 /Users/user/Desktop/sample.tex
(Debug) Import: file:/Users/user/Desktop/sample.tex plugin:(null) (null)
2015-09-23 20:20:42.359 mdimport[313:707] Imported '/Users/user/Desktop/sample.tex' of type 'dyn.ah62d4rv4ge81k3p2' with no plugIn. 

Der Inhalt (Schlüsselwörter) wurde gefunden.

Gleiches gilt für Mac OS X, nachdem eine der Tex.apps installiert, aber nicht gestartet wurde. Der Importer wurde jedoch in RichText.mdimporter geändert:

host:~ user$ /usr/bin/mdimport -d3 /Users/user/Desktop/sample.tex
(Debug) Import: file:/Users/user/Desktop/sample.tex plugin:file://localhost/System/Library/Spotlight/RichText.mdimporter/ /System/Library/Spotlight/RichText.mdimporter
(Info) Import: public.tex 

Nach dem Starten einer Tex.app (in meinem Fall TeXShop) verwendet der Importer den Standard-TeX.mdimporter, der sich in der Tiefe des TeXShop-Bundles befindet:

host:~ user$ /usr/bin/mdimport -d3 /Users/user/Desktop/sample.tex
(Debug) Import: file:/Users/user/Desktop/sample.tex plugin:file://localhost/Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter/ /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter
(Info) Import: edu.uo.texshop.tex 

Nach dem Update des MacTex-20150613 einschließlich TexShop und LaTeXiT ist die Indizierung vollständig fehlerhaft:

host:~ user$ /usr/bin/mdimport -d3 /Users/user/Desktop/sample-2.tex
(Debug) Import: file:/Users/user/Desktop/sample-2.tex plugin:(null) (null)
2015-09-23 21:29:49.278 mdimport[5541:707] Imported '/Users/user/Desktop/sample-2.tex' of type 'public.tex' with no plugIn.

Der richtige Pfad zum Plugin TeX.mdimporter (in TexShop) ging verloren und die Fähigkeit, eine neue * .tex-Datei zu indizieren, verschwand. Andere Plugins wie dyn.random oder RichText.mdimporter greifen wahrscheinlich nicht ein, weil sie keine Dateien vom Typ 'public.tex' indizieren. Die Suche nach Inhalten in (zumindest neuen) .tex-Dateien ist nicht mehr möglich.

Nach dem Kopieren von TeX.mdimporter nach / Library / Spotlight wird die Inhaltsindizierung wiederhergestellt:

host:~ user$ /usr/bin/mdimport -d3 /Users/user/Desktop/sample-3.tex
(Debug) Import: file:/Users/user/Desktop/sample-3.tex plugin:file://localhost/Library/Spotlight/TeX.mdimporter/ /Library/Spotlight/TeX.mdimporter
(Info) Import: public.tex 

Um alle .tex-Dateien ordnungsgemäß neu zu indizieren (insbesondere solche, bei denen Inhaltsschlüsselwörter nicht durchsuchbar sind), müssen Sie die Spotlight-Datenbank neu erstellen (überprüfen Sie den ersten Teil meiner Antwort) oder die Änderungsdaten aller .tex-Dateien ändern, um die Neuindizierung dieser Dateien einzuleiten .

Klanomath
quelle
Interessant. Muss der Importeur eine Volltextsuche durchführen? Durch einfaches Löschen des Importers sollten alle Dateien im Klartext-Spotlight verarbeitet werden, nicht wahr? (und trotzdem eine riesige +1 - großartige Arbeit)
bmike
Ich kann alle meine Dateien ohne speziellen Importer durchsuchen, aber ich verwende nicht mehr 10.8 ... danke @klanomath
bmike
@Masi was macht mdutil -s ~/Dropboxoder wenn beim Ausführen der ersten Befehlsanzeige ein Fehler auftritt sudo mdutil -s ~/Dropbox?
Klanomath
@Masi Obwohl dies eine Fehlermeldung ist, handelt es sich nicht um einen "Bash" -Fehler beim Ausführen des Befehls, der durch fehlende Berechtigungen verursacht wird (was ich mit Fehler gemeint habe). Es ist eine Fehlermeldung, die besagt, dass mdutilIhr Dropbox-Ordner nicht indiziert werden kann. Wie tauschen Sie (dl / ul) aus oder wo speichern Sie Ihre .tex-Dateien? Im Dropbox-Ordner?
Klanomath
@Masi Disc2 ist ein zweites Volume oder eine Cloud-App / ein Cloud-Service wie Dropbox?
Klanomath
4

So habe ich dieses Problem gelöst.

Hinweis. Dies funktioniert immer noch, seit ich die Lösung zum ersten Mal veröffentlicht habe. Zu dieser Zeit verwendete ich Mac OS 10.11.5 und TeXShop 3.62; Jetzt ist es Mac OS 10.12.3 und TeXShop 3.77. Zum Bearbeiten der .plist-Dateien (wie unten erläutert) verwende ich Xcode.

Zuerst stellte mdlsich mit dem Befehl fest, dass alle meine .tex-Dateien gemeldet wurden kMDItemContentType = “public.tex”(Wenn Ihr System anders meldet, müssten Sie die folgenden Anweisungen entsprechend ändern.)

Also habe ich TeXShop> Inhalt geöffnet (indem ich mit der rechten Maustaste auf TeXShop geklickt und Paketinhalt anzeigen ausgewählt habe). Ich habe Info.plist geändert, indem ich public.tex als UTI für Dokumentinhaltstypen wie folgt hinzugefügt habe (siehe die blau hervorgehobene Zeile):

edit info.plist

Anschließend habe ich die Info.plist in TeXShop> Inhalt> Bibliothek> Spotlight> TeX.mdimporter> Inhalt geändert (Paketinhalt von TeX.mdimporter anzeigen ausführen). Genau wie oben habe ich public.tex an geeigneten Stellen hinzugefügt. Siehe das nächste Bild:

Bearbeiten der Info.plist von TeX.mdimporter

Danach durchsucht Spotlight den Inhalt von .tex-Dateien.

user11126
quelle
Es wäre großartig, eine Zeile zu erhalten, um dies besser zu verstehen. Noch keine Bestätigung, wie es funktioniert.
Léo Léopold Hertz 5
Ich wünschte, Sie hätten uns einen einfachen Texteditor gezeigt. Die Tabelle des Xcodes ist etwas verwirrend.
Dellu
Endlich wieder an Sierra arbeiten! Was für eine Erleichterung!
Florian
2

Dies scheint ein Problem beim Spotlight MetaData-Import zu sein. Ein fehlender, beschädigter oder fehlerhafter Pfad zum "Spotlight Plugin", das vom "TexLive" -Paket installiert wurde.

Die Ausgabe von "mdimport -L" auf meinem Computer enthält die folgende Zeile:

"/ Applications / TeX / TeX Live Utility.app/Contents/Library/Spotlight/DVIImporter.mdimporter"

Ich sehe keine ähnliche Zeile in Ihrer Ausgabe. Eine gute Lösung für Sie könnte darin bestehen, die "TeX Live" -Distribution von The MacTeX-2015 Distribution unter https://www.tug.org/mactex/ neu zu installieren. Dies sollte Ihren fehlerhaften mdimport-Pfad korrigieren.

mactex-20150613.pkg

Thompson Dawes
quelle
3
Verwenden Sie keine verkürzten Links - sie verschleiern das Ziel.
grg
Die Neuindizierung hat das Problem nicht gelöst.
Léo Léopold Hertz 22
1

Wenn Sie ohne Spotlight sein können

Wenn Sie eine Liste der Dateien abrufen und diese dann einzeln durchsuchen möchten.

Wenn Sie alle Dateinamen und Übereinstimmungen in derselben Ansicht abrufen möchten, verwenden Sie diese Option, um alle Dateien im Verzeichnis Time...durch rekursives Durchlaufen zu durchsuchen

  • Dateien / Symlink-Dateien [fd0]

    find -L . -type d -path './Time*' \ 
        -exec grep -d "recurse" series {} + | 
    cut -c -80
    
  • .tex-Dateien ohne Leerzeichen in Verzeichnisnamen ( Quelle )

    find -L $(find . -type l -name 'Math*') -name '*.tex' \
        -exec fgrep word /dev/null {} + |
    cut -c -80
    

Wenn Spotlight

Temporäre Korrektur besteht darin, in einigen Ordnern .txt-Dokumente anstelle von .tex-Dokumenten zu verwenden, da dies eine stabile Lösung ist

cat *.tex > summary_all.txt

Andere Versuche

  • Ich versuche , für die Suche .tex Dateien einen Terminal Ansatz zu finden , hier etwa zu öffnen Suche Pfad durch Klicken Sie in Viewer - Folge?
  • Ich versuche zu ersetzen mdfind hier etwa Wie für .tex mdfind mit einem anderen Werkzeug zu ersetzen?
Léo Léopold Hertz 준영
quelle
1
Wie führt man eine rekursive Suche in einer Datei durch? Wenn ich Sie richtig verstehe, können Sie beide Find-Anweisungen find -L . -type d -path './Time*' -exec grep -d "recurse" series {} +
Uhr
0

Wenn Sie keine wünschenswertere Lösung finden, können Sie es jederzeit versuchen mdfind.
Ich verstehe, dass es das CLI-Gegenstück von Spotlight ist . Ich benutze es oft und finde es sehr hilfreich.
Um es zu verwenden, öffnen Sie einfach die native Terminal.app und geben Sie den Befehl und das Argument wie folgt ein:

username@hostname:~$ mdfind osteoporosis.tex

Alternativ, wenn Sie den Titel nicht kennen; Sie können einfach alle LaTeX-Dateien auflisten mit:

username@hostname:~$ mdfind .tex

Es besteht die Möglichkeit, dass diese Abfragen mit ähnlichen Zeichenfolgen übereinstimmen, z. B. '.text'. In diesem Fall wird Folgendes verwendet:

username@hostname:~$ mdfind osteoporosis.tex | grep '\.tex$'

Und / oder einfacher: (Dies ist wahrscheinlich die beste Option für Ihre Situation :)

username@hostname:~$ mdfind .tex | grep '\.tex$'

Wenn Sie | grep '\.tex$'an den Befehl anhängen , werden die Ergebnisse im Wesentlichen durch einen anderen Filter ausgeführt, wobei alle Dateinamen entfernt werden, die die LaTeX-Erweiterung nicht enthalten . '.tex' am Ende ihrer Zeichenfolge.


Zu Ihrer Information: Einige Dateitypen scheinen Spotlight &nicht zu erlaubenmdfind, sie anhand ihres Inhalts zu identifizieren oder zu lokalisieren. Das liegt daran, dass Spotlight nur Dateitypen indizieren kann, die es kennt. Apple bietet einige Plugins zum Indizieren der gängigsten Dateitypen an, jedoch nicht alle. Anscheinend sollteIhre MacTex- Kopieeinen LaTeX Spotlight- Importer enthalten,aber wenn dieser kaputt ist, fehlt oder unzureichend ist, finden Sie hier einen großartigen: http://wiesmann.codiferes.net/wordpress/?page_id=262


Auch hier von LyX für Mac OS X:
http://wiki.lyx.org/Mac/Spotlight/
Und hier mit TeXShop gebündelt:
http://pages.uoregon.edu/koch/texshop/

Stimmen
quelle
Siehe chat.stackexchange.com/rooms/29405/… für die Diskussion und hin und her zu dieser Frage.
bmike
-1

Versuchen Sie Texnicle , es hat den richtigen Eintrag in mdimport -L

user148058
quelle
1
Danke für den Vorschlag! Wir sind jedoch daran interessiert, die Systemsuche wieder zum Laufen zu bringen (Spotlight / Finder).
Léo Léopold Hertz 22