Клавіша швидкої клавіші для показу прихованих файлів і папок у діалоговому вікні "Відкрити файл"?


262

Це питання дуже схоже на Чи можливо завжди відображати приховані / дотфайли у діалогових вікнах "Відкрити / Зберегти"? . Як показати приховані файли та папки в пошуку? також пов'язані. Однак я не хочу їх завжди показувати, і це defaults write ... AppleShowAllFiles ...робиться.

Швидше, я хочу ввімкнути його при необхідності. Я намагаюся відкрити .bash_profile, тому мені це потрібно зараз:

введіть тут опис зображення

Linux та Gnome дозволяють нам CTRL+ Hперемикатися між показами та приховуванням прихованих файлів. Але гарячі клавіші Gnome не працюють на OS X (що очікується).

Для повноти, .bash_profileчи існує в домашньому каталозі:

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

Питання, пов’язані з цим ... Як видно вище, введення імені файлу в пошуку (або це Spotlight) пошуку не спрацювало. Я намагався клацнути правою кнопкою миші, щоб отримати контекстне меню у діалоговому вікні "Відкрити файл" з надією встановити прапорець "Показати всі файли". І я спробував меню «Перегляд» шукати «показати всі файли» з відкритим діалоговим вікном «Файл».

Чому це десь сховано? Якій цілі він служить, щоб не дати користувачеві легко відкривати файл?

Відповіді:


452

⌘ CMD+ ⇧ SHIFT+ .виявляє приховані файли в діалогах Finder та Open / Save.

Якщо ви використовуєте клавіатуру AZERTY, вам також потрібно буде натиснути fn, тому ⇧ SHIFTце враховується, оскільки це вже потрібно для її створення ..


Ви також можете натиснути ⌘ CMD+ ⇧ SHIFT+ Gі ввести шлях до прихованої папки, як і в терміналі ( ⇥ TABтакож працює автозавершення).

Редагування прихованих файлів може бути небезпечним, якщо ви не знаєте, що робите.


7
Працює для мене у режимі перегляду стовпців, якщо я зміню шлях - перейдіть на інший диск та назад тощо, - або змінити подання, на піктограму та назад.
Тецуджин

10
Комбінація клавіш "cmd + shift +". Схоже, працює в більш широкому масштабі в програмі Finder у Сьєррі (не лише діалоговому вікні "Відкрити / Зберегти"), а також у кількох переглядах.
Найлл

4
Нічого собі, не можу повірити, що для цього є ярлик, як це не дивно. Дякую!
Єзекіїль Віктор

1
@MateuszSzlosek, Схоже, це не працює на мене. cmdshiftG не може вибрати прихований файл, якщо тільки я спочатку не зроблю cmdshiftdot. Це працює для вас?
Pacerier

2
Ах, я розумію, що ти маєш на увазі. Отже, так, CMD + SHIFT + G не вибере прихований файл, якщо ви не виявите їх за допомогою CMD + SHIFT +. Але ви все одно можете переходити до прихованих папок за допомогою CMD + SHIFT + G, не розкриваючи їх. Влучне зауваження!
Матеуш Шлосек

23

Матеуш Шлосек висвітлив першу частину. Нижче - як я обробляв другу частину для власного використання.

Поспішаючи опублікувати свою відповідь, я не зрозумів, що друга частина вже відповіла. Див. Розділ Як встановити ⌘ + H, щоб увімкнути показ прихованих файлів . Що я пропоную нижче, відрізняється діалогом, який інформує вас про поточний стан.

Я створив сервіс за допомогою програми Automator. Коли я хочу переключити перегляд прихованих файлів, я вибираю "Змінити приховані файли" у підменю служб Finder, як показано нижче. (Підказка: Клацніть зображення для кращого перегляду.)

Це призведе до появи будь-якого поп-шоу, показаного нижче.

введіть тут опис зображення

введіть тут опис зображення

Кроки по створенню послуги наведені нижче.

  1. Відкрийте Автоматизатор, виберіть новий документ типу Сервіс.
  2. Перетягніть дію "Запустити скрипт оболонки" на панель робочого процесу.
  3. Відредагуйте вміст, щоб відобразитись, як показано нижче. (Підказка: Клацніть зображення для кращого перегляду.)

    Текст сценарію повторюється нижче.

    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. Збережіть (або перемістіть) Toggle Hidden Files.workflowфайл у ~/Library/Servicesпапку.
  5. Вам може знадобитися перезапустити програму Finder, щоб послуга з’явилася в меню.

Оновлення 1

Опираючись на відповідь Матеуша Шлосека, я бачу, що клавіатурне сполучення ⌘ CMD+ ⇧ SHIFT+ .може бути додане для моєї служби. Перейдіть до Налаштування системи та натисніть на іконку клавіатури. Виберіть "Послуги", а потім "Переключити приховані файли" під заголовком "Загальні". Замініть "жодне" ярликом ⌘ CMD+ ⇧ SHIFT+ на .клавіатурі.


Я зробив саме так, як ви сказали (є файл у моїй папці ~ / Library / Services), але безрезультатно навіть після перезавантаження комп'ютера.
Вальтер

@Walter: Я додав Toggle Hidden Files.workflowдо Sourceforge.net. Дивіться сайт: перемикання прихованих файлів . Ви можете завантажити робочий процес звідти. Інструкції з установки також показані на цьому веб-сайті.
Девід Андерсон,

Навіщо змінювати вбудовану клавішу швидкого доступу, яка працює в діалогових вікнах Файлу, на Сервіс, який не працює і який закриває Finder? (Вихід із Finder може призвести до закриття вікна переднього плану Finder.)
benwiggy

3

ВІДМОВА / ПОПЕРЕДЖЕННЯ

Приховані файли зазвичай приховуються з причини. Скористайтеся сценарієм нижче, лише якщо ви впевнені, що знаєте, що робите. Іншими словами: Якщо ви зламаєте вашу систему, випадковим чином видаляючи приховані файли, це ваша вина.


Ось сценарій, який я використовую, щоб перемикати показ / не показувати приховані файли в Finder .

(Власний ярлик OSX для перемикання прихованих файлів у діалогах "Відкрити / Зберегти" вже згадував Матеуш Шлосек)

Різниця між моїм сценарієм та іншими, які я бачив досі:

Більшість сценаріїв більше нічого не роблять після вбивства Finder. Зазвичай це означає, що вам потрібно повернутися до папки, в якій ви знаходилися, оскільки автоматичний перезапуск Finder не відкриває останню активну папку.

Сценарій нижче натомість знову відкриває та фокусується на вашій останній активній папці, тобто папці, у якій ви знаходились під час використання перемикача, але тепер показує (або не показує) приховані файли.

Я призначив їй ярлик (cmd + shift +.) І знайти роботу зі прихованими файлами у Finder набагато зручніше.

Подяка Тецуджіну, який опублікував сценарій на цьому сайті деякий час тому, що я адаптувався, щоб додати функцію "повторно відкрити останню папку".

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

Щоб використовувати сценарій: Відкрийте новий робочий процес у Automator, перетягніть «Запустити AppleScript», скопіюйте та вставте код вище та збережіть всередині папки служб (зазвичай, ~ / Бібліотека / Послуги /, afaik).

Приєднання ярлика для виконання сценарію повинно бути висвітлено десь ще на цьому сайті. Я обмежив сферу своєї ярлика лише на Finder.


Зауваження про стиль:

Мені доводиться вдаватися до некрасивого злому, використовуючи «сон» після вбивства Finder, перш ніж відкрити оригінальну папку вручну.

Якщо я не змушую цю затримку, є ймовірність, що OSX вже перезапустив Finder і відкрив папку (не обов’язково останню активну, на мій досвід). Разом із моєю власною командою «відкрити» це може призвести до неприємного ефекту двох запущених (нерозбірливих, рівних) процесів Finder, і Finder взагалі більше не працює. Якщо це трапляється, вихід із системи знову і знову виправляє це, але очевидно, що це марно витрачений час, тому я використовую "сон".

Значення сну в 0,5 секунди працює для мене, але, щоб бути в безпеці, ви можете трохи збільшити його (додавши потім помітніші затримки до процесу).

Якщо хтось знає спосіб або придушити перезапуск Finder і ненадійне відкриття якогось вікна після надсилання сигналу Killall - або якийсь інший спосіб позбутися від злому «сну» - я був би радий почути це!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.