Tecla de atalho para mostrar arquivos e pastas ocultos na caixa de diálogo Abrir arquivo?

262

Esta questão é muito semelhante a É possível sempre mostrar arquivos ocultos / dotfiles nas caixas de diálogo Abrir / Salvar? . Como mostrar arquivos e pastas ocultos no localizador? também está relacionado. No entanto, não quero sempre mostrar a eles, e é isso que defaults write ... AppleShowAllFiles ...faz.

Em vez disso, quero ativá-lo quando necessário. Estou tentando abrir .bash_profile, então preciso agora:

insira a descrição da imagem aqui

Linux e Gnome nos permitem CTRL+ Hpara alternar entre mostrar e ocultar arquivos ocultos. Mas as teclas de atalho do Gnome não funcionam no OS X (o que é esperado).

Para completar, .bash_profileexiste no diretório inicial:

$ ls ~/.bash_profile 
/Users/jww/.bash_profile

Uma questão relacionada ... Como pode ser visto acima, digitar o nome do arquivo na pesquisa do Finder (ou é o Spotlight) não funcionou. Tentei clicar com o botão direito do mouse para obter um menu de contexto na caixa de diálogo Abrir arquivo na esperança de marcar uma caixa como "mostrar todos os arquivos". E tentei o menu Exibir procurando um "show all files" com a caixa de diálogo File Open aberta.

Por que isso está escondido em algum lugar? Qual é o objetivo de não permitir que um usuário abra facilmente um arquivo?

Comunidade
fonte

Respostas:

452

⌘ CMD+ ⇧ SHIFT+ .revela arquivos ocultos nas caixas de diálogo Finder e Abrir / Salvar.

Se você estiver usando um teclado AZERTY, precisará pressionar fntambém, e isso ⇧ SHIFTserá levado em consideração, pois você já precisará dele ..


Você também pode pressionar ⌘ CMD+ ⇧ SHIFT+ Ge digitar o caminho para a pasta oculta, assim como no Terminal (o ⇥ TABpreenchimento automático também funciona).

A edição de arquivos ocultos pode ser perigosa se você não souber o que está fazendo.

Mateusz Szlosek
fonte
7
Funciona para mim no modo de exibição de coluna se eu alterar o caminho - vá para outra unidade e volte novamente, etc. - ou mude o modo de exibição para ícone e voltar.
Tetsujin
10
O atalho de teclado "cmd + shift +." parece funcionar em uma escala mais ampla no Finder in Sierra (não apenas nas caixas de diálogo Abrir / Salvar), em várias visualizações também.
Niall
4
Uau, não posso acreditar que exista um atalho para isso, estranhamente específico. Obrigado!
Ezekiel Victor
1
@MateuszSzlosek, não parece funcionar para mim. O cmdshiftG não pode selecionar o arquivo oculto, a menos que eu faça primeiro um cmdshiftdot. Isso funciona para você?
Pacerier 15/08/19
2
Ah, entendi o que você quer dizer. Portanto, o CMD + SHIFT + G não selecionará o arquivo oculto, a menos que você os revele usando CMD + SHIFT +. Mas você ainda pode navegar para pastas ocultas usando CMD + SHIFT + G sem revelá-las. Bom ponto!
Mateusz Szlosek
23

Mateusz Szlosek cobriu a primeira parte. Abaixo está como eu lidei com a segunda parte para meu próprio uso.

Na pressa de postar minha resposta, não percebi que a segunda parte já foi respondida. Consulte Como configurar ⌘ + H para ativar a exibição de arquivos ocultos . O que ofereço abaixo difere de uma caixa de diálogo informando o status atual.

Eu criei um serviço usando o aplicativo Automator. Quando quero alternar a exibição de arquivos ocultos, selecione "Alternar arquivos ocultos" no submenu de serviços do Finder, como mostrado abaixo. (Dica: clique na imagem para uma visualização melhor.)

Isso fará com que o pop mostrado abaixo apareça.

insira a descrição da imagem aqui

insira a descrição da imagem aqui

As etapas para criar o serviço são fornecidas abaixo.

  1. Abra o Automator, selecione um novo documento do tipo Serviço.
  2. Arraste a ação "Executar Script do Shell" para o painel de fluxo de trabalho.
  3. Edite o conteúdo para aparecer como mostrado abaixo. (Dica: clique na imagem para uma visualização melhor.)

    O texto para o script é repetido abaixo.

    STATUS=`defaults read com.apple.finder AppleShowAllFiles 2>/dev/null`
    if [ "$STATUS" == TRUE ]; then
        STATUS=`osascript -e 'tell app "Finder" to display alert "Finder is showing hidden files." buttons {"Cancel", "Hide"}'`
    else
        STATUS=`osascript -e 'tell app "Finder" to display alert "Finder is not showing hidden files." buttons {"Cancel", "Show"}'`
    fi
    if [ "$STATUS" == "button returned:Show" ]; then
        defaults write com.apple.finder AppleShowAllFiles TRUE
        killall Finder
    elif [ "$STATUS" == "button returned:Hide" ]; then
        defaults write com.apple.finder AppleShowAllFiles FALSE
        killall Finder
    fi
    
  4. Salve (ou mova) o Toggle Hidden Files.workflowarquivo para a ~/Library/Servicespasta.
  5. Pode ser necessário reiniciar o aplicativo Finder para que o serviço apareça em um menu.

Atualização 1

Com base na resposta de Mateusz Szlosek, vejo que o atalho de teclado ⌘ CMD+ ⇧ SHIFT+ .pode ser adicionado ao meu serviço. Vá para Preferências do sistema e clique no ícone Teclado. Selecione "Serviços" e "Alternar arquivos ocultos" no cabeçalho "Geral". Substitua "none" pelo atalho do teclado ⌘ CMD+ ⇧ SHIFT+ ..

David Anderson
fonte
Fiz exatamente o que você disse (existe um arquivo na pasta ~ / Library / Services), mas sem sucesso, mesmo depois de reiniciar o computador.
Walter
@ Walter: Eu adicionei o Toggle Hidden Files.workflowao Sourceforge.net. Veja o site: Alterne arquivos ocultos . Você pode baixar o fluxo de trabalho a partir daí. As instruções para instalação também são mostradas neste site.
David Anderson
Por que alterar o atalho de tecla interno, que funciona nas caixas de diálogo Arquivo, para um Serviço, que não funciona e que sai do Finder? (Sair do Finder pode fazer com que a janela do Finder em primeiro plano seja fechada.)
benwiggy
3

AVISO LEGAL / AVISO

Arquivos ocultos são ocultos por um motivo normalmente. Use o script abaixo apenas se tiver certeza razoável de que sabe o que está fazendo. Em outras palavras: se você interromper o sistema excluindo aleatoriamente arquivos ocultos, a culpa é sua.


Aqui está o script que eu uso para alternar entre mostrar / não exibir arquivos ocultos no Finder .

(O atalho nativo do OSX para alternar arquivos ocultos nas caixas de diálogo Abrir / Salvar já foi mencionado por Mateusz Szlosek acima)

A diferença entre o meu script e outros que eu vi até agora:

A maioria dos scripts não faz mais nada depois de matar o Finder. Normalmente, isso significa que você precisa voltar para a pasta em que estava originalmente, pois o relançamento automático do Finder não abre de maneira confiável sua última pasta ativa.

O script abaixo reabre e concentra-se na sua última pasta ativa, ou seja, na pasta em que você estava quando usava a alternância, mas agora mostrando (ou não mostrando) arquivos ocultos.

Atribuí um atalho a ele (cmd + shift +.) E acho que trabalhar com arquivos ocultos no Finder é muito mais conveniente agora.

Os meus agradecimentos a Tetsujin, que postou um script neste site há algum tempo, que me adaptei para adicionar a funcionalidade 'reabrir última pasta'.

on run {input, parameters}
    tell application "Finder"
        set var1 to POSIX path of (target of window 1 as alias)
    end tell
    set newHiddenVisiblesState to "YES"
    set oldHiddenVisiblesState to do shell script "defaults read com.apple.finder AppleShowAllFiles"
    if oldHiddenVisiblesState is in {"1", "YES"} then
        set newHiddenVisiblesState to "NO"
    end if
    do shell script "defaults write com.apple.finder AppleShowAllFiles " & newHiddenVisiblesState
    ---- Sleep hack mentioned below. 0.5s minimum, 1-2s safer. Ugly, but (probably) unavoidable.
    do shell script "killall Finder; sleep 0.5s"
    tell application "Finder"
        ---- Close other windows if Finder managed to relaunch already
        if application "Finder" is running then
            close every window
        end if
        open (var1 as POSIX file)
        activate
    end tell
end run

Para usar o script: Abra um novo fluxo de trabalho no Automator, arraste "Executar AppleScript", copie e cole o código acima e salve dentro da pasta de serviços (normalmente, ~ / Library / Services /, afaik).

Anexar um atalho para executar um script deve ser abordado em outro lugar deste site. Limitei o escopo do meu atalho apenas ao Finder.


Observação de estilo:

Eu tenho que recorrer a um truque feio, usando 'sleep' depois de matar o Finder, antes de abrir manualmente a pasta original.

Se eu não forçar esse atraso, há uma chance de o OSX relançar o Finder e abrir uma pasta (não necessariamente a última ativa, na minha experiência). Juntamente com o meu próprio comando 'aberto', isso pode levar ao efeito desagradável de dois processos do Finder (inescrutáveis ​​e até pares) em execução, e o Finder não funciona mais. Se isso acontecer, o logoff e o logon novamente o corrigem, mas obviamente é uma perda de tempo, então eu uso 'sleep'.

Um valor de sono de 0,5s funciona para mim, mas, por segurança, você pode aumentá-lo levemente (adicionando um atraso mais perceptível ao processo).

Se alguém souber uma maneira de suprimir o relançamento do Finder e a abertura não confiável de alguma janela após enviar o sinal killall - ou alguma outra maneira de se livrar do hack 'sleep' - ficaria feliz em ouvi-lo!

Bert Zangle
fonte