He reproducido el problema ahora también en El Capitan con nuevos componentes (placa base, 3x SSD) en mi Macbook Air 2013-mid. He tenido una instalación limpia de OS X (El Capitan, Yosemite) mientras hacía la prueba. El último OS X donde funciona la búsqueda .tex es 10.8.5 en Spotlight. No veo ningún documento .tex en mi búsqueda de Spotlight en este momento. Pruebas
- Ninguna respuesta actual resuelve el problema de forma permanente. En Yosemite, el problema volvió después de un tiempo con algunas respuestas. No existe una solución estable y poca comprensión de cuál es la causa del problema.
La selección de configuraciones de Configuración no es relevante en Spotlight porque podemos usar directamente el comando mdfind
en la terminal, que es equivalente a Spotlight. Sin embargo, hemos probado la configuración predeterminada, mínima y completa en Spotlight. Para las pruebas, utilizamos la configuración predeterminada en OS X. Sistema y aplicaciones
- Sistemas OS X Yosemite, OS X El Capitan
- TexShop.app está instalado. (MacTeX 2015, mactex-20150613.pkg).
- Aplicación Tex: TextMate2-beta8
- Spotlight / Finder / cualquier aplicación de búsqueda no funciona con archivos TeX y MacTeX 2015
- Spotlight funciona como se esperaba con algunas configuraciones diferentes y también con MacTeX 2015.
El comando mdfind
(versión 10 de junio de 2004) es equivalente a la búsqueda de Spotlight, por lo que una prueba simple que no devuelve nada sin éxito en mi sistema
mdfind sulfas | grep tex
Creo que el problema es que el sistema no reconoce el formato de archivo .tex`. Lo primero es hacer que el sistema lo reconozca.
Sugerencia de tjt263 para buscar solo .tex en Finder / Spotlight
La salida de Spotlight .tex
o el comando de terminal proporciona archivos tex correctamente en mi sistema. Sin embargo, combinarlo con otros términos como, por .tex diabetes
, ya no da archivos tex. Importadores obtenidos por 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"
)
pruebas de bmikes
El archivo notes.tex no se puede buscar en Finder. Lo cambio a notes.txt que ahora puedo buscar en Finder. Esto me propone que no sea un problema del programa de búsqueda (Spotlight, md ..., lo que sea que uses, como describí muchas veces en los comentarios). Entonces tex -problem en el sistema. Salidas del mismo archivo pero con dos finales diferentes. Salida de txt -file:
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
Salida del archivo tex:
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
Comandos buscados:
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"
Herramientas de diagnóstico actuales Uso y discusión en el chat
Comando bien oculto de ¿Es posible consultar la base de datos de servicios de inicio para aplicaciones que abrirán un archivo arbitrario o tipo UTI?
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump | grep -n7 org.tug.tex
Descubrimos que TeXShop de MacTeX 2015 no tiene TeX.mdimporter. Instalar esto da en la última línea de mdimport -L
:
"/Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter")
Intento fallido con Patrix
mkdir -p ~/Library/Spotlight; ln -s /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter ~/Library/Spotlight/
después de lo cual rm ~/Library/Spotlight/TeX.mdimporter
y restablecimos el índice de Spotlight moviendo HardDisc al panel Prevent y lo eliminamos rápidamente, por lo que nos tomamos un tiempo para indexar el sistema.
Resultados de la respuesta de klanomath que funcionaron un día hasta volver al mal estado
Obtengo inestablemente algunos archivos .tex en mdfind. Después de un día de uso desde el inicio de esta propuesta, la condición volvió al mal estado:
- la búsqueda de osteoporosis devuelve los mismos archivos que hace un día, pero noté que esos archivos, que no han sido visibles recientemente en las coincidencias de búsqueda y no han sido visibles durante la última vez, no son visibles en la búsqueda
- solo se muestran los archivos editados recientemente y, a veces, incluso se muestran archivos de hace 3,5 meses
Correr 18:25:06:~:masi$ /usr/bin/mdimport -d3 /Users/masi/Dropbox/Internal\ Diseases/24.9.2015.tex
y conseguir
(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 = "\...";
}
Adivina el origen del problema: /Volumes/Disc/.Spotlight-V100 / ...
Investigué la dinámica de la memoria en diferentes puntos de tiempo fdupes -rd /Volumes/Disc2/
, la siguiente muestra es durante la indexación:
[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
---
donde el contenido del archivo es dos líneas vacías. Verá muchas entradas duplicadas creadas por Spotlight para su índice. El índice de Spotlight tiene muchos duplicados en muchos puntos de su funcionamiento. También estudié este comportamiento en diferentes medios. Hay muchos archivos ficticios / duplicados creados durante la indexación y durante el período estable cuando se realiza la indexación. Creo que Apple ha hecho un mal trabajo al diseñar el índice que Spotlight está utilizando.
¿Cómo puede buscar documentos LaTeX con mdfind / Spotlight / Finder?
Respuestas:
Es probable que esto sea el resultado del editor / software para TEX que usa, ya que no necesita ningún importador destacado para procesar archivos de texto sin formato. (Por lo tanto, puede eliminar el importador personalizado de su aplicación o elegir una actualización / importador diferente).
En lugar de adivinar el caso, aquí se explica cómo ubicar el problema. El editor podría estar cambiando ** kMDItemContentType ** a uno que no esté indexado o que tenga una extensión de centro de atención de terceros que se está bloqueando. Así es como sabría cuál de estos (o algo más inesperado) está sucediendo:
A) ¿Spotlight indexa un archivo de texto arbitrario cuando cambia la extensión de .txt a .tex?
B) Compare los metadatos de los archivos para saber qué sucede usando
mdls
Para probar A, abra Text Edit y pegue una palabra en el documento: osteoporosis
Si es necesario, convierta el documento a texto sin formato (probablemente sea texto enriquecido) - Shift + Command + T (o use el menú de formato - Hacer texto sin formato) y guárdelo en su escritorio como archivo.txt - Si el menú de formato dice Make Rich Texto, luego no presione las teclas y simplemente guarde el documento.
En ese punto, Spotlight debería ver el archivo de inmediato. Si no, tiene un problema de foco y no problemas con el archivo .tex. Este es un problema muy básico si su foco está roto para no indexar archivos de texto sin formato. Si esto funciona, cambie la extensión .txt a .tex y vuelva a verificar el foco.
Para la prueba B: use el
mdls
comando para examinar las diferencias de metadatos entre su archivo y el archivo TextEdit que funcionan con Spotlight. Presta especial atención a los siguientes campos:Cambiar el .txt a .tex provoca un cambio en esto (ya que no tengo una aplicación que reclame la extensión de archivo de .tex y la asigne a una clasificación de servicios de lanzamiento / spotlight y kMDItemContentType / kMDItemKind adecuados en lugar de un genérico y ad / hoc tipo:
Aquí hay una breve prueba que puede cortar / pegar si sus habilidades terminales aún no están desarrolladas. Eliminaría el contenido de cualquier nombre de archivo test_file en su escritorio, así que haga una copia de seguridad si no está seguro antes de pegar los siguientes comandos:
Los
mdfind
comandos son equivalentes a usar Spotlight, por lo tanto, compruebe que la búsqueda de terminal coincida con la búsqueda de Spotlight en ese momento.Como nota al pie, estas herramientas solo son necesarias para diagnosticar el alcance de la rotura y no son un sustituto de la búsqueda destacada al final. Solo que no puede diagnosticar un problema de foco con solo foco. Además, es posible que desee ver el registro de la consola mientras realiza los pasos,
~/Desktop
en caso de que haya informes de fallas u otros diagnósticos destacados mientras está hurgando en el subsistema.Además, las cosas se ponen feas rápidamente si puede buscar en el documento de texto sin formato pero no en el de texto. En su actualización, mencionó que los archivos .tex son del tipo "org.tug.tex": puede explorar la base de datos de los servicios de lanzamiento para averiguar qué importadores son responsables del análisis de este archivo y eliminarlos (o simplemente hacer un adivinar y eliminar temporalmente las aplicaciones TEX para ver si "soluciona" el foco temporalmente).
¿Dónde
lsregister
hay una herramienta bien oculta en / Sistema? Vea este hilo en SuperUser para leer sobre los servicios de lanzamiento: /superuser/323599/ y este hilo aquí: Duplicar entradas en el menú "Abrir con" en Finder incluso después de reconstruir Launch Services para probar algunas cosas raras. Estoy bastante seguro de que podría descubrir lo que está mal en su sistema en aproximadamente 20 minutos de hurgar, pero escribir todas las posibilidades de una manera accesible para usted y adivinar un poco de las respuestas está resultando más difícil de lo que esperaba.fuente
Traté de reproducir sus problemas de Spotlight en una máquina virtual configurada con Mac OS X 10.8.
Después de instalar MacTex-20150613 y actualizar todos los componentes (> 300), incluidos TexShop y LaTeXiT, no tuve problemas para buscar contenido en archivos * .tex.
Después de ingresar:
"Tuve éxito" al perder la capacidad de buscar contenido en archivos * .tex.
Para recuperar la capacidad de hacerlo, hice lo siguiente:
Inicié sesión como administrador. Copié el archivo /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter a / Library / Spotlight / with
La comprobación continua de toda la información relevante, como los atributos de archivo o los servicios de lanzamiento en diferentes estados del sistema (con varias instantáneas de VM) utilizando mdls , xattr y otras herramientas, no reveló nada interesante o sospechoso.
He repetido todos los pasos anteriores más a fondo en una nueva máquina virtual y solía
mdimport -d3
verificar el comportamiento de Spotlight.En un Mac OS X estándar, un archivo .tex se importa correctamente utilizando un importador dyn.random:
Se encontró el contenido (palabras clave).
Lo mismo se aplica a Mac OS X después de instalar pero no iniciar una de las Tex.apps, aunque el importador cambió a RichText.mdimporter:
Después de iniciar un Tex.app (en mi caso, TeXShop), el importador utiliza el TeX.mdimporter predeterminado que reside en la profundidad del paquete TeXShop:
Después de actualizar MacTex-20150613, incluidos TexShop y LaTeXiT, la indexación está completamente rota:
La ruta adecuada al complemento TeX.mdimporter (dentro de TexShop) se perdió y, por lo tanto, la capacidad de indexar un nuevo archivo * .tex desapareció. Otros complementos como dyn.random o RichText.mdimporter no intervienen probablemente porque no indexan archivos del tipo 'public.tex'. La búsqueda de contenido en archivos (al menos nuevos) .tex ya no es posible.
Después de copiar TeX.mdimporter a / Library / Spotlight content indexing se restaura:
Para reindexar todos los archivos .tex correctamente (especialmente aquellos en los que no se pueden buscar palabras clave de contenido), debe reconstruir la base de datos de Spotlight (verifique la primera parte de mi respuesta) o cambiar las fechas de modificación de todos los archivos .tex para iniciar la reindexación de ellos. .
fuente
mdutil -s ~/Dropbox
o si aparece un error al ejecutar la primerasudo mdutil -s ~/Dropbox
pantalla de comando ?mdutil
no puede indexar su carpeta de Dropbox. ¿Cómo intercambia (dl / ul) o dónde almacena sus archivos .tex? En la carpeta de Dropbox?Así es como resolví este problema.
Nota. Esto todavía funciona desde que publiqué la solución por primera vez. En ese momento estaba usando Mac OS 10.11.5 y TeXShop 3.62; ahora es Mac OS 10.12.3 y TeXShop 3.77. Para editar los archivos .plist (como se explica a continuación), uso Xcode.
Primero, usando el
mdls
comando, descubrí que todos mis archivos .tex informaronkMDItemContentType = “public.tex”
(si su sistema informa de manera diferente, entonces tendría que modificar las siguientes instrucciones en consecuencia).Entonces abrí TeXShop> Contenido (haciendo clic derecho en TeXShop y seleccionando Mostrar contenido del paquete). Modifiqué Info.plist agregando public.tex como UTI de tipo de contenido de documento de la siguiente manera (vea la línea resaltada en azul):
Luego pasé a modificar el Info.plist en TeXShop> Contenido> Biblioteca> Spotlight> TeX.mdimporter> Contenido (ejecute Mostrar contenido del paquete de TeX.mdimporter). Al igual que arriba, agregué public.tex en los lugares apropiados. Ver la siguiente imagen:
Después de esto, Spotlight está buscando el contenido de los archivos .tex.
fuente
Esto parece ser un problema con la importación de Spotlight MetaData. Una ruta faltante, corrupta o rota al "Plugin de Spotlight" instalado por el paquete "TexLive".
La salida de "mdimport -L" en mi máquina incluye la línea:
"/ Aplicaciones / TeX / TeX Live Utility.app/Contents/Library/Spotlight/DVIImporter.mdimporter"No veo una línea similar en su salida. Una buena solución para usted podría ser reinstalar la distribución "TeX Live", desde The MacTeX-2015 Distribution en: https://www.tug.org/mactex/, esto debería corregir su ruta mdimport rota.
mactex-20150613.pkg
http://www.macissues.com/2015/04/03/faulty-spotlight-plugins-may-cause-incomplete-searches/
http://www.macissues.com/2014/12/12/how-to-determine-when-your-spotlight-index-needs-to-be-rebuilt/
fuente
Si puedes estar sin Spotlight
Si desea obtener una lista de archivos y luego explorar cada uno de ellos por separado.
haetex
como se describe en el hilo ¿Cómo buscar archivos .tex? que funciona también en BSD porque POSIX.Si desea obtener todos los nombres de archivos y coincidencias en la misma vista, utilícelos para buscar todos los archivos en el Directorio
Time...
recorriendo recursivamentearchivos / archivos enlazados [fd0]
Archivos .tex sin espacios en directorioNombres ( fuente )
Si Spotlight
La solución temporal es usar documentos .txt en lugar de documentos .tex en algunas carpetas porque es una solución estable
Otros intentos
mdfind
aquí sobre Cómo reemplazar mdfind con cualquier otra herramienta para .tex?fuente
find -L . -type d -path './Time*' -exec grep -d "recurse" series {} +
Si no puede encontrar una solución más deseable, siempre puede intentarlo
mdfind
.Entiendo que es la contraparte de CLI de Spotlight . Lo uso a menudo y lo encuentro bastante útil.
Para usarlo, simplemente abra el Terminal.app nativo , luego escriba el comando y argumento de la siguiente manera:
Alternativamente, si no sabes el título; simplemente puede enumerar todos los archivos LaTeX con:
Existe la posibilidad de que estas consultas coincidan con cadenas similares, es decir, '.text', en cuyo caso use:
Y / o más simplemente: (Esta es probablemente la mejor opción para su situación :)
Anexando
| grep '\.tex$'
al comando, básicamente ejecuta los resultados a través de otro filtro, eliminando cualquier nombre de archivo que no contenga la extensión LaTeX; '.tex', al final de su cadena.FYI: no parecerán Algunos tipos de archivos para permitir Spotlight y
mdfind
para identificar o localizar a ellos por su contenido . Esto se debe a que Spotlight solo puede indexar los tipos de archivos que conoce. Apple proporciona algunos complementos para indexar los tipos de archivos más comunes, pero no todos. Aparentemente debería haber un importador de LaTeX Spotlight incluido con su copia de MacTex, pero si está roto, falta o es inadecuado, puede encontrar uno excelente aquí: http://wiesmann.codiferes.net/wordpress/?page_id=262También aquí desde LyX para Mac OS X:
http://wiki.lyx.org/Mac/Spotlight/
Y incluido con TeXShop aquí:
http://pages.uoregon.edu/koch/texshop/
fuente
Pruebe Texnicle , tiene la entrada correcta en mdimport -L
fuente