Вопрос или проблема
Я уверен, что большинство из нас здесь любят делать вещи как можно более эффективно, и поэтому мы – кучка клавиатурных маньяков.
При выделенном файле (или группе файлов) есть ли способ открыть контекстное меню (эквивалент правого клика) с клавиатуры?
Короткий ответ: нет.
Большинство элементов в контекстном меню Finder уже доступны через меню, и любое действие в меню может быть задано для пользовательского сочетания клавиш в “Системных настройках” (Системные настройки > Клавиатура > Сочетания клавиш > Ярлыки приложений). Вы можете назначить сочетания клавиш для большинства приложений (за исключением Firefox) в этом разделе, включая Finder. Если это не вступает в силу сразу, просто перезапустите Finder.
Прокси-объекты Quicksilver, в частности, прокси-объект “Текущий выбор”.
Это позволит вам вызвать Quicksilver с выбранными в Finder элементами как с теми, к которым вы хотите применить какое-либо действие.
У меня есть триггер (у меня он установлен на ⌘+shift+space), который получает все в данный момент выбранные элементы в Finder. В итоге я могу выполнять действия с выбранными в Finder элементами всего за три нажатия клавиш. Большинство действий с элементами находятся в контекстном меню, но не все, если я правильно помню. Тем не менее, это довольно удобно.
Хотя это не совсем контекстное меню, но довольно близко. Если использовать команды для Универсального доступа, вы можете перейти к меню кнопки задачи на панели кнопок.
Нажмите control-F5, чтобы установить фокус на панель кнопок. Нажимайте tab, пока кнопка задачи не будет выделена, нажмите space, чтобы открыть, используйте стрелки для выбора.
Обратите внимание, что вам может потребоваться включить Универсальный доступ, и вы можете изменить сочетание control-F5 в панели настроек клавиатуры. Также название кнопки может немного отличаться на английском (я работаю на голландском, и мне лень переключаться на другой язык для проверки точного перевода).
Это ответ на более конкретный вопрос в вашем комментарии к вашему изначальному вопросу. Вероятно, он мог бы быть новым вопросом, так как он гораздо более специфичен.
Чтобы установить “Цветовую метку” для выделенных файлов, вы можете комбинировать программу AppleScript (или оболочечную программу, использующую osascript) с любым из множества приложений-“запускаторов” (Quicksilver, FastScripts и др.), которые могут запускать программы AppleScript (или оболочечные программы) на основе комбинации клавиш.
Для любого из приведенных ниже скриптов вставьте их в Script Editor / AppleScript Editor и сохраните в формате “script” (или в любом формате, используемом вашим выбранным запускатором). Обычное место для таких сохраненных скриптов будет ~/Library/Scripts/Applications/Finder, но в зависимости от вашего запускатора вы можете использовать и другие местоположения.
Вот простой вариант, который вы можете жестко закодировать на любую из меток:
on run
tell application "Finder"
repeat with anItem in (get selection)
(*
* 0 - none
* 1 - Orange
* 2 - Red
* 3 - Yellow
* 4 - Blue
* 5 - Purple
* 6 - Green
* 7 - Gray
*)
set label index of anItem to 4
end repeat
end tell
end run
Если у вас есть только одна или две метки, которые вы используете, вы можете сохранить пару копий этого и привязать клавишу к каждой копии.
Вот версия, которая всегда запрашивает, какую метку применить:
on run
tell application "Finder" to set selectedItems to selection
if length of selectedItems is 0 then
display dialog "Выберите несколько элементов в Finder перед запуском этой программы." with title "Применение метки Finder к выбранным элементам" buttons {"OK"} default button {"OK"}
return
end if
set labels to prependIndicies(getLabelNames())
set default to first item of labels
set labelIndex to choose from list labels default items default with prompt "Выберите метку для применения к выбранным элементам" without empty selection allowed and multiple selections allowed
if labelIndex is false then return
set labelIndex to (first word of first item of labelIndex) as number
tell application "Finder"
repeat with anItem in selectedItems
set label index of anItem to labelIndex
end repeat
end tell
end run
to getLabelNames()
set labelNames to {"Orange", "Red", "Yellow", "Blue", "Purple", "Green", "Gray"}
set useCustomLabelNames to true -- change to false if this is too slow or does not work for you
if useCustomLabelNames then
set cmds to {}
repeat with i from 1 to 7
set end of cmds to "defaults read com.apple.Labels Label_Name_" & (8 - i) & " || echo " & quoted form of item i of labelNames
end repeat
set text item delimiters to {";"}
set labelNames to paragraphs of (do shell script (cmds as text))
end if
end getLabelNames
to prependIndicies(theList)
repeat with i from 1 to length of theList
set item i of theList to (i as text) & " - " & (item i of theList)
end repeat
{"0 - none"} & theList
end prependIndicies
Когда появляется диалог, введите одну из цифр от 0 до 7, чтобы выбрать метку, затем нажмите Return, чтобы применить ее к выбранным элементам в Finder.
Контекстное меню можно открыть в основном только правой кнопкой мыши. Но в настройках Универсального доступа в Системных настройках мы можем управлять клавишами мыши, используя цифровую клавиатуру. Когда активирована, правый клик можно сделать, нажав Ctrl-5
на клавиатуре с цифровым блоком или Fn-Ctrl-I
на ноутбуке. Это позволит вам “право-кликнуть” ваше слово.
Перейдите в Системные настройки –> Универсальный доступ –> Мышь –> Включить клавиши мыши (ВКЛ)
Cmd + Shift + / вызовет меню справки в строке меню. Если вы знаете название элемента в контекстном меню, вы можете ввести его там и нажать enter, когда соответствующий пункт будет выделен.
Расширяя ответ @JohannKool, полезно перестроить панель инструментов. Сделав элемент Действия первым элементом на панели инструментов Finder, можно мгновенно получить доступ к нему, нажав Control
+ F5
один раз.
-
Если панели инструментов Finder скрыты, сначала активируйте их, выбрав Вид > Показать панель инструментов в меню Finder или нажав
Option
+Command
+T
. -
Чтобы поместить элемент Действия в начало панели инструментов, выберите Вид > Настроить панель инструментов
-
Перетащите элемент Действия в самое переднее положение. Для перестановки элементов может понадобиться удерживать клавишу
Command
при перетаскивании. -
Назад в окне Finder, выберите файл и нажмите
Control
+F5
для активации Действия на панели инструментов Finder. Затем используйте клавишиStrelka
для навигации по меню Действия. Перейдите вниз по стрелке к подменю, как Открыть с помощью, а затем используйте стрелку вправо для входа в подменю. Стрелка влево возвращает к основному меню Действия. НажавEnter
, пункт меню выполняется, например, открытие выбранных элементов Finder в нестандартном приложении. Чтобы выйти из меню Действия, просто нажмите клавишуEsc
. -
Если это не сработает, проверьте Системные настройки > Клавиатура > Ярлыки > Клавиатура. Переместить фокус в панель инструментов окна
Control
+F5
должны быть выбраны и Полный доступ с клавиатуры должен быть установлен на Все элементы управления. -
Наконец, в Системные настройки > Клавиатура > Клавиатура, есть возможность нажать клавишу
fn
для доступа к стандартным функциональным клавишам, какF5
или нет. Это означает, что сочетание для доступа к ДействияControl
+F5
может бытьControl
+F5
+fn
для некоторых пользователей. Это сочетание также может быть настроено по вашему усмотрению, например, без функциональной клавиши. Это удобно, особенно если на компьютерах с Touch Bar нет реальных функциональных клавиш.
Хотя это не активирует настоящее контекстное меню с помощью клавиатурных ярлыков, Действие также должно содержать нужную функциональность. Это проверено и работает на OS X 10.9.x через macOS 10.14.x.
Я не знаю способа открыть контекстное меню для текущего выбора (что, как мне кажется, вы действительно хотите), но вы можете “право-кликнуть” то, что находится под указателем мыши, только с клавиатуры.
Включение и выключение клавиш прилипания и клавиш мыши
Сочетания клавиш для клавиш мыши
- Активируйте клавиши мыши.
- В Системных настройках найдите “клавиши мыши” и включите их.
- Вы также можете выбрать, чтобы пять нажатий Option переключали клавиши мыши.
- В Системных настройках найдите “клавиши мыши” и включите их.
- Переместите указатель мыши.
- Удерживайте Control.
- Нажмите и отпустите клавишу 5 на цифровой клавиатуре (или Fn+I (не L, та, что между U и O)).
- Отпустите Control.
Но, это зависит от правильного позиционирования указателя мыши. Если вы выбрали файлы в Finder без использования мыши, то указатель мыши, вероятно, будет где-то совсем не в контексте вашей задачи в Finder.
В MacOS Sequoia Control-Enter вызывает контекстное меню.
.
Ответ или решение
На macOS процесс открытия контекстного меню в Finder с помощью клавиатуры может представлять собой вызов для пользователей, особенно для тех, кто предпочитает работать с системами Apple максимально эффективно, используя клавиатурные сокращения. Хотя стандартных клавиатурных команд для этой операции нет, существует несколько обходных способов, которые позволяют добиться нужного результата.
Теория
Контекстное меню Finder предоставляет доступ к множеству действий, таких как копирование, переименование, отправка файлов по электронной почте и многое другое. Обычно это меню вызывается правой кнопкой мыши. На macOS, как и на многих других операционных системах, существуют способы обхода, которые позволяют имитировать действия мыши с помощью клавиатуры. В случае с macOS, эти методы часто включают использование Universal Access и Mouse Keys для имитации клика правой кнопкой мыши.
Пример
Для активации клавиш мыши (Mouse Keys) выполните следующие шаги:
-
Откройте «Системные настройки» и перейдите в раздел «Универсальный доступ».
-
В разделе «Управление мышью и трекпадом» найдите «Клавиши мыши» и активируйте эту функцию.
-
Теперь вы сможете эмулировать правый клик, удерживая клавишу
Control
и нажав5
на цифровой клавиатуре. На ноутбуке без цифровой клавиатуры тот же эффект достигается комбинациейFn
+Control
+I
. -
Для облегчения работы, в разделе настроек клавиатуры можно настроить так, чтобы пять нажатий клавиши
Option
активировали или деактивировали режим клавиш мыши.
Применение
Хотя эти решения не дублируют полноценное контекстное меню для выделенного объекта в Finder, они обеспечивают доступ к схожей функциональности:
-
Управление с помощью Quicksilver: Установите Quicksilver, который позволяет запускать команды для текущего выделения в Finder. Создайте триггер (например,
Cmd
+Shift
+Space
), чтобы вызывать команды Quicksilver для выделенных элементов. Это приложение предлагает дополнительную гибкость и может сэкономить значительное время, особенно для часто используемых команд. -
Скрипты на AppleScript: Вместе с лаунчерами, такими как FastScripts или Alfred, скрипты на AppleScript позволят автоматизировать задачи, которые обычно доступны через контекстное меню. Используйте приведенные в описании скрипты для установки цветовых меток или других действий, которые возможно выполнить через контекстное меню.
-
Настройка панели инструментов: Переместите элемент «Действие» (Action item) на первое место на панели инструментов Finder. Это позволит вам получить к нему доступ однократным нажатием
Control
+F5
(илиFn
+Control
+F5
в зависимости от настроек). С помощью стрелок можно перемещаться по этому меню и выбирать нужные команды без использования мыши.
На практике внедрение этих методов требует корректировки настроек системы и привычек пользователя, но они призваны обеспечить многозадачность и улучшают пользовательский опыт для тех, кто стремится максимизировать взаимодействие с системой исключительно с помощью клавиатуры. Для многих пользователей такие решения могут быть не только полезными, но и вдохновляющими, открывающими новые методы взаимодействия с macOS.