Skrót do pokazywania ukrytych plików i folderów w oknie dialogowym Otwórz plik?

262

To pytanie jest bardzo podobne do Czy zawsze można wyświetlać pliki ukryte / pliki dot w oknach dialogowych Otwórz / Zapisz? . Jak wyświetlić ukryte pliki i foldery w wyszukiwarce? jest również powiązany. Ja jednak nie chcę ich zawsze pokazać, i to, co defaults write ... AppleShowAllFiles ...robi.

Zamiast tego chcę go włączyć w razie potrzeby. Próbuję otworzyć .bash_profile, więc potrzebuję go teraz:

wprowadź opis zdjęcia tutaj

Linux i Gnome pozwalają CTRL+ Hna przełączanie między pokazywaniem a ukrywaniem ukrytych plików. Ale skróty Gnome nie działają w systemie OS X (jest to oczekiwane).

Dla kompletności .bash_profileistnieje w katalogu domowym:

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

Powiązane pytanie ... Jak widać powyżej, wpisywanie nazwy pliku w wyszukiwarce Finder (lub jest to Spotlight) nie działało. Próbowałem kliknąć prawym przyciskiem myszy, aby wyświetlić menu kontekstowe w oknie dialogowym Otwieranie pliku, mając nadzieję na zaznaczenie pola „pokaż wszystkie pliki”. Próbowałem menu Widok, szukając „pokaż wszystkie pliki” przy otwartym oknie dialogowym Otwórz plik.

Dlaczego to gdzieś jest ukryte? W jakim celu nie pozwala on użytkownikowi łatwo otworzyć pliku?

Społeczność
źródło

Odpowiedzi:

452

⌘ CMD+ ⇧ SHIFT+ .ujawnia ukryte pliki w oknach Findera i Otwórz / Zapisz.

Jeśli używasz klawiatury AZERTY, musisz również nacisnąć fn, więc ⇧ SHIFTjest to brane pod uwagę, ponieważ już potrzebujesz jej do wykonania ..


Możesz także nacisnąć ⌘ CMD+ ⇧ SHIFT+ Gi wpisać ścieżkę do ukrytego folderu, podobnie jak w Terminalu ( ⇥ TABdziała również autouzupełnianie).

Edycja ukrytych plików może być niebezpieczna, jeśli nie wiesz, co robisz.

Mateusz Szlosek
źródło
7
Działa dla mnie w widoku kolumny, jeśli zmienię ścieżkę - przejdź na inny dysk i ponownie, itd. - lub zmień widok, na ikonę i wstecz.
Tetsujin
10
Skrót klawiaturowy „cmd + shift +”. wydaje się działać na szerszą skalę w Finderze w Sierra (nie tylko okna dialogowe Otwórz / Zapisz), ale także w kilku widokach.
Niall
4
Wow, nie mogę uwierzyć, że jest na to skrót, jak dziwnie specyficzny. Dzięki!
Ezechiel Wiktor
1
@MateuszSzlosek, Wydaje się, że nie działa dla mnie. cmdshiftG nie może wybrać ukrytego pliku, chyba że najpierw wykonam cmdshiftdot. To działa dla ciebie?
Pacerier
2
Ach, rozumiem o co ci chodzi. Tak więc CMD + SHIFT + G nie wybierze ukrytego pliku, chyba że ujawnisz go za pomocą CMD + SHIFT +. Ale nadal możesz nawigować do ukrytych folderów za pomocą CMD + SHIFT + G bez ich ujawniania. Słuszna uwaga!
Mateusz Szlosek
23

Mateusz Szlosek omówił pierwszą część. Poniżej omawiam drugą część na własny użytek.

W pośpiechu, aby opublikować swoją odpowiedź, nie zdawałem sobie sprawy, że na drugą część już udzielono odpowiedzi. Zobacz Jak ustawić ⌘ + H, aby włączyć wyświetlanie ukrytych plików . To, co oferuję poniżej, różni się oknem dialogowym informującym o bieżącym stanie.

Stworzyłem usługę za pomocą aplikacji Automator. Kiedy chcę przełączać wyświetlanie ukrytych plików, wybieram „Przełącz ukryte pliki” z podmenu Usługi Findera, jak pokazano poniżej. (Wskazówka: kliknij obraz, aby uzyskać lepszy widok).

Spowoduje to pojawienie się dowolnego popu pokazanego poniżej.

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Kroki tworzenia usługi podano poniżej.

  1. Otwórz Automator, wybierz nowy dokument typu Usługa.
  2. Przeciągnij akcję „Uruchom skrypt powłoki” do okienka przepływu pracy.
  3. Edytuj zawartość, aby pojawiała się, jak pokazano poniżej. (Wskazówka: kliknij obraz, aby uzyskać lepszy widok).

    Tekst skryptu jest powtarzany poniżej.

    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. Zapisz (lub przenieś) Toggle Hidden Files.workflowplik do ~/Library/Servicesfolderu.
  5. Konieczne może być ponowne uruchomienie aplikacji Finder, aby usługa pojawiła się w menu.

Aktualizacja 1

Opierając się na odpowiedzi Mateusza Szloska, widzę, że do mojej usługi można dodać skrót klawiaturowy ⌘ CMD+ ⇧ SHIFT+ .. Przejdź do Preferencji systemowych i kliknij ikonę Klawiatura. Wybierz „Usługi”, a następnie „Przełącz ukryte pliki” pod nagłówkiem „Ogólne”. Zamień „brak” na skrót klawiaturowy ⌘ CMD+ ⇧ SHIFT+ ..

David Anderson
źródło
Zrobiłem dokładnie tak, jak powiedziałeś (w folderze ~ / Library / Services znajduje się plik), ale bezskutecznie, nawet po ponownym uruchomieniu komputera.
Walter,
@ Walter: Dodałem Toggle Hidden Files.workflowdo Sourceforge.net. Zobacz stronę: Przełącz ukryte pliki . Możesz pobrać przepływ pracy stamtąd. Instrukcje instalacji są również wyświetlane na tej stronie.
David Anderson
Po co zmieniać wbudowany skrót klawiszowy, który działa w oknach dialogowych plików, na usługę, która nie działa i która wychodzi z Findera? (Wyjście z Findera może spowodować zamknięcie okna Findera na pierwszym planie.)
benwiggy
3

ZASTRZEŻENIE / OSTRZEŻENIE

Ukryte pliki są zwykle ukryte z jakiegoś powodu. Użyj skryptu poniżej, tylko jeśli masz pewność, że wiesz, co robisz. Innymi słowy: jeśli złamiesz system przez przypadkowe usunięcie ukrytych plików, to twoja wina.


Oto skrypt, którego używam do przełączania pokaż / nie pokazuj ukrytych plików w Finderze .

(Natywny skrót OSX do przełączania ukrytych plików w dialogach Otwórz / Zapisz wspomniany już powyżej Mateusz Szlosek)

Różnica między moim scenariuszem a innymi, które widziałem do tej pory:

Większość skryptów nie robi nic więcej po zabiciu Findera. Zwykle oznacza to, że musisz wrócić do folderu, w którym pierwotnie byłeś, ponieważ automatyczne ponowne uruchomienie Findera nie otwiera niezawodnie ostatniego aktywnego folderu.

Poniższy skrypt ponownie otwiera się i koncentruje na ostatnim aktywnym folderze, tj. Folderze, w którym byłeś podczas używania przełącznika, ale teraz pokazuje (lub nie pokazuje) ukrytych plików.

Przypisałem mu skrót (cmd + shift +.) I znalezienie pracy z ukrytymi plikami w Finderze jest teraz znacznie wygodniejsze.

Podziękowania dla Tetsujin, który jakiś czas temu opublikował skrypt na tej stronie, który dostosowałem, aby dodać funkcję „otwórz ponownie ostatni folder”.

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

Aby użyć skryptu: Otwórz nowy przepływ pracy w Automatorze, przeciągnij w „Uruchom AppleScript”, skopiuj i wklej powyższy kod i zapisz w folderze usług (zwykle ~ / Library / Services /, afaik).

Dołączenie skrótu do wykonania skryptu powinno być opisane gdzie indziej na tej stronie. Zakres mojego skrótu ograniczyłem do samej wyszukiwarki.


Uwaga dotycząca stylu:

Muszę skorzystać z odrobiny brzydkiego włamania, używając „snu” po zabiciu Findera, zanim ręcznie otworzę oryginalny folder.

Jeśli nie wymuszę tego opóźnienia, istnieje szansa, że ​​OSX ponownie uruchomił Findera i otworzył folder (z mojego doświadczenia niekoniecznie ostatni aktywny). W połączeniu z moim własnym poleceniem „otwórz” może to prowadzić do nieprzyjemnego efektu działania dwóch (niemożliwych do zabicia, nawet) procesów Findera i działania Findera w ogóle. Jeśli tak się stanie, wylogowanie i ponowne zalogowanie to naprawi, ale oczywiście jest to strata czasu, więc używam „spania”.

Wartość uśpienia wynosząca 0,5 s działa dla mnie, ale dla pewności możesz ją nieco zwiększyć (dodając wtedy bardziej zauważalne opóźnienie do procesu).

Jeśli ktoś zna sposób na powstrzymanie ponownego uruchomienia Findera i niewiarygodne otwarcie jakiegoś okna po wysłaniu sygnału killall - lub inny sposób na pozbycie się hacka „uśpienia” - chętnie go usłyszę!

Bert Zangle
źródło