Agora reproduzi o problema também no El Capitan com novos componentes (placa-mãe, SSD 3x) no meu Macbook Air 2013-meados de. Eu tive uma instalação limpa do OS X (El Capitan, Yosemite) enquanto fazia o teste. O OS X mais recente em que a pesquisa .tex funciona é 10.8.5 no Spotlight. Não vejo documentos .tex na minha pesquisa Spotlight no momento. Testes
- Nenhuma resposta atual resolve o problema permanentemente. Em Yosemite, o problema voltou depois de um tempo com algumas respostas. Não existe uma solução estável e pouco entendimento da causa do problema.
A seleção das configurações não é relevante no Spotlight porque podemos usar diretamente o comando mdfind
no terminal, que é equivalente ao Spotlight. No entanto, tentamos as configurações Padrão, mínima e Completa no Spotlight. Para os testes, usamos as configurações padrão no OS X. Sistema e aplicativos
- Sistemas OS X Yosemite, OS X El Capitan
- O TexShop.app está instalado. (MacTeX 2015, mactex-20150613.pkg).
- Aplicativo Tex: TextMate2-beta8
- O Spotlight / Finder / qualquer aplicativo de pesquisa não funciona com arquivos TeX e MacTeX 2015
- O Spotlight funciona conforme o esperado com algumas configurações diferentes e também com o MacTeX 2015.
O comando mdfind
(versão 10 de junho de 2004) é equivalente à pesquisa Spotlight, portanto, um teste simples que não retorna nada sem êxito no meu sistema
mdfind sulfas | grep tex
Eu acho que o problema é que o sistema não reconhece o formato de arquivo .tex`. A primeira coisa é fazer com que o sistema o reconheça.
A sugestão de tjt263 de pesquisar apenas .tex no Finder / Spotlight
A saída Spotlight .tex
ou o comando terminal fornece tex-files corretamente no meu sistema. No entanto, combiná-lo com outros termos como, por .tex diabetes
, não fornece mais arquivos tex. Importadores obtidos 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"
)
testes de bmikes
O arquivo notes.tex não pode ser pesquisado no Finder. Altero-o para notes.txt, que agora posso procurar no Finder. Isso me propõe que não o problema do programa de pesquisa (Spotlight, md ..., o que você usar, como descrevi várias vezes nos comentários). Então, tex-problema no sistema. Saídas do mesmo arquivo, mas com duas terminações diferentes. Saída do arquivo txt:
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
Saída do arquivo 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 desejados:
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"
Ferramentas de diagnóstico atuais usando e discutindo no bate-papo
Comando bem oculto de É possível consultar o banco de dados dos serviços de inicialização para aplicativos que abrirão um arquivo arbitrário ou tipo de UTI?
/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump | grep -n7 org.tug.tex
Descobrimos que o TeXShop do MacTeX 2015 não possui TeX.mdimporter. A instalação disso fornece a última linha de mdimport -L
:
"/Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter")
Tentativa malsucedida com o Patrix
mkdir -p ~/Library/Spotlight; ln -s /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter ~/Library/Spotlight/
depois disso rm ~/Library/Spotlight/TeX.mdimporter
, redefinimos o índice do Spotlight movendo o HardDisc para o painel Prevent e removemos-o rapidamente, levando um tempo para indexar o sistema.
resultados da resposta de klanomath que funcionaram um dia até voltar ao estado ruim
Recebo instáveis alguns arquivos .tex no mdfind. Após um dia de uso a partir do init desta proposta, a condição voltou ao estado ruim:
- a pesquisa de osteoporose retorna os mesmos arquivos de um dia atrás, mas notei que esses arquivos, que não foram visíveis na pesquisa correspondem recentemente e há tempo suficiente na última edição, não são visíveis na pesquisa
- apenas arquivos editados recentemente mostrados e, na verdade, às vezes até arquivos com 3,5 meses mostrados
Correndo 18:25:06:~:masi$ /usr/bin/mdimport -d3 /Users/masi/Dropbox/Internal\ Diseases/24.9.2015.tex
e ficando
(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 = "\...";
}
Adivinha sobre a origem do problema: /Volumes/Disc/.Spotlight-V100 / ...
Eu investiguei a dinâmica da memória em diferentes pontos no tempo fdupes -rd /Volumes/Disc2/
, o seguinte exemplo é durante a indexação:
[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
---
onde o conteúdo do arquivo é duas linhas vazias. Você vê muitas entradas duplicadas criadas pelo Spotlight para seu índice. O índice do Spotlight tem muitas duplicatas em muitos pontos de seu funcionamento. Também estudei esse comportamento em diferentes mídias. Existem muitos arquivos fictícios / duplicados criados durante a indexação e durante o período estável em que a indexação é concluída. Acho que a Apple fez um mau trabalho ao projetar o índice que o Spotlight está usando.
Como você pode pesquisar documentos LaTeX com mdfind / Spotlight / Finder?
Respostas:
Provavelmente, isso é resultado do editor / software para TEX usado, pois você não precisa de nenhum importador de destaque para processar arquivos de texto sem formatação. (Você pode excluir o importador personalizado do seu aplicativo ou escolher uma atualização / importador diferente).
Em vez de adivinhar o caso - veja como descobrir onde está o problema. O editor pode estar alterando o ** kMDItemContentType ** para um que não esteja indexado ou se houver uma extensão de destaque de terceiros que esteja travando. Aqui está como eu saberia qual deles (ou algo mais inesperado) está acontecendo:
A) O Spotlight indexa um arquivo de texto arbitrário quando você altera a extensão de .txt para .tex?
B) Compare os metadados dos arquivos para saber o que está acontecendo usando
mdls
Para testar A, abra o Text Edit e cole uma palavra no documento: osteoporose
Se necessário, converta o documento em texto sem formatação (provavelmente é rich text) - Shift + Command + T (ou use o menu Formatar - Tornar texto sem formatação) e salve-o na área de trabalho como arquivo.txt - Se o menu Formatar for Rich Rich O texto não pressiona as teclas e salva o documento.
Nesse ponto, o destaque deve ver o arquivo imediatamente. Caso contrário, você tem um problema de destaque e não problemas de arquivo .tex. Esse é um problema muito básico se o seu holofote estiver quebrado, para não indexar arquivos de texto sem formatação. Se isso funcionar, altere a extensão .txt para .tex e verifique novamente o foco.
Para o teste B - use o
mdls
comando para examinar as diferenças de metadados entre seu arquivo e o arquivo TextEdit que funcionam com o spotlight. Preste atenção especial aos seguintes campos:Alterar o .txt para .tex causa uma alteração nisso (já que eu não tenho um aplicativo que reivindique a extensão do arquivo .tex e mapeie-o para uma classificação de serviços / spotlight de lançamento e kMDItemContentType / kMDItemKind adequado, em oposição a um genérico e ad / hoc tipo:
Aqui está um pequeno teste que você pode cortar / colar se suas habilidades no terminal ainda não foram desenvolvidas. Ele excluiria o conteúdo de qualquer nome de arquivo test_file na área de trabalho; portanto, faça um backup se você não tiver certeza antes de colar os comandos abaixo:
Os
mdfind
comandos são equivalentes ao uso do Spotlight, portanto, verifique se a pesquisa do terminal corresponde à pesquisa do Spotlight naquele momento.Como nota de rodapé, essas ferramentas são necessárias apenas para diagnosticar a extensão da quebra e não um substituto para a pesquisa de destaque no final. Só que você não pode diagnosticar um problema de destaque apenas com o destaque. Além disso, você pode assistir ao log do console enquanto executa as etapas
~/Desktop
, caso haja relatórios de falha ou outros diagnósticos de destaque acontecendo enquanto cutucava o subsistema.Além disso, as coisas ficam desagradáveis rapidamente se você pode pesquisar o documento de texto sem formatação, mas não o texto. Na atualização, você mencionou que os arquivos .tex são do tipo "org.tug.tex" - você pode explorar o banco de dados dos serviços de inicialização para descobrir quais importadores os itens do sistema são responsáveis por analisar esse arquivo e removê-los (ou apenas fazer um palpite instruído e exclua temporariamente os aplicativos TEX para ver se "corrige" os holofotes temporariamente).
Onde
lsregister
está uma ferramenta bem oculta em / System - veja este tópico no SuperUser para ler sobre os serviços de inicialização: /superuser/323599/ e este tópico aqui: Duplicar entradas no menu "Abrir com" no Finder mesmo após a reconstrução dos Serviços de Inicialização, para algumas coisas esquisitas. Estou bastante confiante de que poderia entender o que está faltando em seu sistema em cerca de 20 minutos, mas anotar todas as possibilidades de uma maneira acessível a você e adivinhar que algumas respostas estão se mostrando mais difíceis do que eu esperava.fonte
Tentei reproduzir seus problemas do Spotlight em uma configuração de máquina virtual com o Mac OS X 10.8.
Depois de instalar o MacTex-20150613 e atualizar todos os componentes (> 300), incluindo o TexShop e o LaTeXiT, não tive problemas para procurar conteúdo nos arquivos * .tex.
Depois de entrar:
"Consegui" perder a capacidade de procurar conteúdo em arquivos * .tex.
Para recuperar a capacidade de fazer isso, fiz o seguinte:
Conectado como administrador, copiei o arquivo /Applications/TeX/TeXShop.app/Contents/Library/Spotlight/TeX.mdimporter em / Library / Spotlight / with
A verificação contínua de todas as informações relevantes, como atributos de arquivo ou serviços de inicialização em diferentes estados do sistema (com várias capturas de tela da VM) usando mdls , xattr e outras ferramentas, não revelou nada de interessante ou suspeito.
Repeti todas as etapas acima com mais detalhes em uma nova VM e usei
mdimport -d3
para verificar o comportamento do Spotlight.Em um Mac OS X de baunilha, um arquivo .tex é importado corretamente usando um importador dyn.random:
O conteúdo (palavras-chave) foi encontrado.
O mesmo se aplica ao Mac OS X depois de instalar, mas não iniciar um dos Tex.apps, mas o importador mudou para RichText.mdimporter:
Depois de iniciar um Tex.app (no meu caso, o TeXShop), o importador usa o TeX.mdimporter padrão que reside nas profundezas do pacote TeXShop:
Após atualizar o MacTex-20150613, incluindo o TexShop e o LaTeXiT, a indexação é completamente interrompida:
O caminho adequado para o plugin TeX.mdimporter (dentro do TexShop) se perdeu e, portanto, a capacidade de indexar um novo arquivo * .tex desapareceu. Outros plugins, como o dyn.random ou RichText.mdimporter, não entram provavelmente porque não indexam arquivos do tipo 'public.tex'. A pesquisa de conteúdo em (pelo menos novos) arquivos .tex não é mais possível.
Após copiar o TeX.mdimporter para / Library / Spotlight, a indexação do conteúdo é restaurada:
Para reindexar todos os arquivos .tex corretamente (especialmente aqueles onde as palavras-chave de conteúdo não são pesquisáveis), você deve reconstruir o banco de dados de destaque (verifique a primeira parte da minha resposta) ou alterar as datas de modificação de todos os arquivos .tex para iniciar a reindexação deles. .
fonte
mdutil -s ~/Dropbox
ou se você receber um erro ao executar o primeiro comando desudo mdutil -s ~/Dropbox
exibição?mdutil
não é possível indexar sua pasta da caixa de depósito. Como você troca (dl / ul) ou onde você armazena seus arquivos .tex? Na pasta Dropbox?Aqui está como eu resolvi esse problema.
Nota. Isso ainda funciona desde que publiquei a solução pela primeira vez. Naquela época, eu estava usando o Mac OS 10.11.5 e o TeXShop 3.62; agora é o Mac OS 10.12.3 e o TeXShop 3.77. Para editar os arquivos .plist (como explicado abaixo), uso o Xcode.
Primeiro, usando o
mdls
comando, descobri que todos os meus arquivos .tex eram reportadoskMDItemContentType = “public.tex”
(se o seu sistema reportar de maneira diferente, você precisaria modificar as instruções a seguir.)Então eu abri o TeXShop> Conteúdo (clicando com o botão direito do mouse em TeXShop e selecionando Mostrar Conteúdo do Pacote). Alterei o Info.plist adicionando public.tex como um UTI do tipo de conteúdo do documento da seguinte forma (veja a linha destacada em azul):
Em seguida, alterei o Info.plist em TeXShop> Conteúdo> Biblioteca> Spotlight> TeX.mdimporter> Conteúdo (execute Mostrar o conteúdo do pacote do TeX.mdimporter). Assim como acima, adicionei public.tex nos locais apropriados. Veja a próxima imagem:
Depois disso, o Spotlight está pesquisando o conteúdo dos arquivos .tex.
fonte
Isso parece ser um problema com a importação do Spotlight MetaData. Um caminho ausente, corrompido ou quebrado para o "Spotlight Plugin" instalado pelo pacote "TexLive".
A saída de "mdimport -L" na minha máquina inclui a linha:
"/ Aplicativos / TeX / TeX Live Utility.app/Contents/Library/Spotlight/DVIImporter.mdimporter"Não vejo uma linha semelhante na sua saída. Uma boa solução para você pode ser reinstalar a distribuição "TeX Live", na The MacTeX-2015 Distribution em: https://www.tug.org/mactex/, isso deve corrigir o caminho quebrado do mdimport.
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/
fonte
Se você pode ficar sem o Spotlight
Se você deseja obter uma lista de arquivos e, em seguida, procure cada um deles separadamente.
haetex
conforme descrito no tópico Como pesquisar arquivos .tex? que também funciona no BSD porque o POSIX.Se você deseja obter todos os nomes de arquivos e correspondências na mesma exibição, use para pesquisar todos os arquivos no Directory
Time...
percorrendo recursivamentearquivos / arquivos com link simbólico [fd0]
arquivos .tex sem espaços no directoryNames ( origem )
Se o Spotlight
A correção temporária é usar documentos .txt em vez de documentos .tex em algumas pastas porque é uma solução estável
Outras tentativas
mdfind
aqui sobre como substituir mdfind por qualquer outra ferramenta para .tex?fonte
find -L . -type d -path './Time*' -exec grep -d "recurse" series {} +
Se você não conseguir encontrar uma solução mais desejável, tente sempre
mdfind
.Entendo que é a contraparte da CLI do Spotlight . Eu o uso frequentemente e acho bastante útil.
Para usá-lo, basta abrir o Terminal.app nativo e digite o comando e argumento da seguinte maneira:
Como alternativa, se você não conhece o título; você pode simplesmente listar todos os arquivos LaTeX com:
É possível que essas consultas correspondam a cadeias semelhantes, ou seja, '.text', nesse caso, use:
E / ou mais simplesmente: (Esta é provavelmente a melhor opção para sua situação :)
Anexando
| grep '\.tex$'
ao comando, basicamente executa os resultados através de outro filtro, removendo os nomes de arquivos que não contêm a extensão LaTeX; '.tex', no final de sua string.FYI: Alguns tipos de arquivos não parecem permitir Spotlight e
mdfind
para identificar ou localizar-los pelo seu conteúdo . Isso ocorre porque o Spotlight pode indexar apenas os tipos de arquivos conhecidos. A Apple fornece alguns plug-ins para indexar os tipos de arquivos mais comuns, mas não todos. Aparentemente, deve haver um importador LaTeX Spotlight incluído na sua cópia do MacTex, mas se estiver quebrado, ausente ou inadequado, você pode encontrar um ótimo aqui: http://wiesmann.codiferes.net/wordpress/?page_id=262Também aqui no LyX para Mac OS X:
http://wiki.lyx.org/Mac/Spotlight/
E incluído no TeXShop aqui:
http://pages.uoregon.edu/koch/texshop/
fonte
Tente Texnicle , ele tem a entrada correta no mdimport -L
fonte