Есть ли горячие клавиши для перемещения папок вверх или вниз по родительским папкам и подпапкам в MacOS?

Например, в этом простом примере я хочу переместить файл 1234.pdf в папку A, в результате чего подпапка A будет пустой. В идеале я смогу сделать это, используя только клавиатуру. Бонусные баллы: горячая клавиша для повторного выбора последней выбранной подпапки (чтобы я мог удалить, переименовать и т.д.).

- Folder A
   - Subfolder A
      -File 1234.pdf 
- Folder B

2 ответа2

2

Я прошу прощения за задержку с ответом. Это было сложнее, чем я ожидал.

Но можно достичь того, чего вы хотите, создав службу в Automator, которая затем станет доступна с помощью сочетания клавиш (горячие клавиши).

Вам нужно будет следовать этому руководству по созданию общесистемного сервиса.


Начните с создания нового сервиса в Automator. Он должен будет получать файлы или папки в качестве входных данных и быть доступным в Finder.

Добавьте действие « Выполнить AppleScript» в рабочий процесс. В текстовой области этого действия можно скопировать и вставить следующий AppleScript:

    use Finder : application "Finder"

    property F_ : missing value -- The previous folder
    property f : missing value -- The files that we moved
    property home : Finder's home as alias


    on run {f, _}
      get its ParentFolderOf:(some item in f)
      set there to the result -- The destination folder, one level up

      -- We won't navigate any higher up the folder tree than
      -- the home folder
      if (its ParentFolderOf:home) is in there then return

      -- Also don't apply this service to other folders that aren't
      -- in the same branch of the folder tree as the home folder
      if (there as text) does not begin with (home as text) then return

      -- The folder we're currently at
      tell Finder to set F_ to ¬
        (the container of some item in f) as alias

      -- Check to ensure there are no files in the destination folder
      -- that risk being overwritten.  If there are, we won't move
      -- the files who share the same name, i.e. only move those that 
      -- are safe to move.
      tell Finder to ¬
        repeat with _g in f
          get name of _g
          set g to [there as text, result] as text
          if not (g exists) then set end of f to _g
          set f to the rest of f
        end repeat

      -- Move the files
      tell Finder ¬
        to set f ¬
        to (move f to there) ¬
        as list as alias list

      -- Reveal them
      reveal f
      activate Finder
    end run


    to ParentFolderOf:(f as alias)
      local f

      set F_ to [f, "::"] as text as alias

      if (f as text) ends with ":" then return F_

      return its ParentFolderOf:F_
    end ParentFolderOf:

Сохраните сервис как хотите. Automator автоматически сохраняет его в нужном месте (~/Library/Services). Я сохранил мой как "Подняться в Finder".

Далее вам нужно создать сочетание клавиш. Это делается через Системные настройки:

Горячие клавиши

Под списком служб вам нужно прокрутить вниз до раздела « Файлы и папки», в котором должно отображаться название вашей службы. Вы можете увидеть мои выделены. Я создал ярлык для себя (Ctrl+Up).

Теперь, каждый раз, когда я выбираю файлы и / или папки в Finder и нажимаю , эти файлы и папки поднимаются на один уровень вверх по иерархии в их родительскую папку. Если я хочу переместить их назад, я могу нажать Z, чтобы отменить перемещение.

Я добавил защиту, чтобы файлы и папки не перемещались выше дерева папок, чем ваша домашняя папка. Вряд ли вам это понадобится.

1

Если вы работаете в режиме колонок, вы можете перемещаться только с помощью клавиш со стрелками.

Для вашего примера, если вы начнете с выбранным файлом ...

  • Cmd ⌘ C для копирования

  • Стрелка влево [это выберет подпапку A], поэтому для бонусных очков ...

    • Введите ⌅ , чтобы переименовать его, или Cmd ⌘ Backspace ⌫, чтобы удалить его.
      [Это не потеряет ваш файл в настоящее время в буфере копирования]
  • Стрелка влево [выберет папку A] *

  • Cmd ⌘ Опция ⌥ V для перемещения

Это структура, как она выглядит в начале.

и снова в конце [после удаления подпапки A на нашем пути мимо]

* Поскольку это нигде не упоминается в ответе, на этом этапе стрелка вниз выберет папку B

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .