Создать новый (.txt) файл в Finder - Сочетание клавиш


24

Я хотел знать, есть ли способ установить сочетания клавиш для создания новых файлов в Finder. Например, по умолчанию вы можете создать новую папку, используя CMD+ Shift+ N. Есть ли сочетание клавиш для создания нового текстового файла? Я программист, так что это было бы очень полезно

Я также был бы заинтересован в создании файлов другого типа с помощью сочетаний клавиш.

Я пытался использовать automator, но я нахожу его довольно запутанным, и я не уверен, как бы я подключил к нему комбинацию клавиш.

Ответы:


21

Ну, вот вам и AppleScript для этого.

Сначала создайте AppleScript:

  1. Открыть Автоматор
  2. Создать быстрое действие
  3. Установите вход без ввода
  4. Перетащите элемент рабочего процесса « Выполнить AppleScript» в серое пространство.
  5. Вставьте код снизу в AppleScript
  6. Сохраните рабочий процесс как Создать новый файл.
    Если у вас активирован iCloud Drive, убедитесь, что вы сохраняете файл Library/Services/в вашей Домашней папке.

try
  tell application "Finder" to set the this_folder ¬
   to (folder of the front window) as alias
on error -- no open folder windows
  set the this_folder to path to desktop folder as alias
end try

set thefilename to text returned of (display dialog ¬
 "Create file named:" default answer "filename.txt")
set thefullpath to POSIX path of this_folder & thefilename
do shell script "touch \"" & thefullpath & "\""

Чтобы добавить его в качестве ярлыка:

  • Перейдите в Системные настройки -> Клавиатура -> Ярлыки -> Услуги
  • Прокрутите вниз, пока не найдете сервис Создать новый файл
  • Назначьте ему ярлык, щелкнув по правой стороне ничего , что превращается в Add Shortcut.
    Нажмите кнопку и введите ярлык, который вы хотите использовать.
    Я использую ⌘ Command+ ⌥ Option+N

2
Я не понимаю, как установить ярлык для этого конкретного сценария через вкладку служб
Гарри

Я добавил более подробный способ добавления этого скрипта в качестве ярлыка.
rwenz3l

Теперь он должен работать и с пустыми папками. По крайней мере, это работает для меня. Вы можете написать свой файл шаблона внутри скрипта "filename.txt".
rwenz3l


7
Почему они не имеют что-то подобное по умолчанию? Что с ними?
Г.Рассовский

11

Я создал AppleScript, очень похожий на @ YoshiBotX, но с некоторыми улучшениями.

Идея состоит в том, чтобы создать рабочий процесс Automator и назначить ему ярлык, используя следующие шаги:

  • Откройте Automator и создайте Сервис ;
  • Установите для входа отсутствие ввода , а для приложения - Finder.app ;
  • Перетащите элемент рабочего процесса « Выполнить AppleScript» в серое пространство;
  • Поместите содержимое этого AppleScript в текстовое поле;
  • Сохраните рабочий процесс с разумным именем (например, Новый файл );
  • Перейдите в « Настройки» -> «Клавиатура» -> «Ярлыки» -> «Службы» и назначьте ему ярлык.

Теперь давайте покажем AppleScript:

set file_name to "untitled"
set file_ext to ".txt"
set is_desktop to false

-- get folder path and if we are in desktop (no folder opened)
try
    tell application "Finder"
        set this_folder to (folder of the front Finder window) as alias
    end tell
on error
    -- no open folder windows
    set this_folder to path to desktop folder as alias
    set is_desktop to true
end try

-- get the new file name (do not override an already existing file)
tell application "System Events"
    set file_list to get the name of every disk item of this_folder
end tell
set new_file to file_name & file_ext
set x to 1
repeat
    if new_file is in file_list then
        set new_file to file_name & " " & x & file_ext
        set x to x + 1
    else
        exit repeat
    end if
end repeat

-- create and select the new file
tell application "Finder"

    activate
    set the_file to make new file at folder this_folder with properties {name:new_file}
    if is_desktop is false then
        reveal the_file
    else
        select window of desktop
        set selection to the_file
        delay 0.1
    end if
end tell

-- press enter (rename)
tell application "System Events"
    tell process "Finder"
        keystroke return
    end tell
end tell

Для удобства я помещаю этот AppleScript в этот GitHub Gist .


1
Отличный сценарий, спасибо. Единственное, что я хотел бы добавить к этой статье, чтобы сделать ее более полной, - это информация, указывающая новым пользователям Automator, что сценарий рабочего процесса, который они создают, должен быть сохранен ~/Library/Services. (По умолчанию у меня было значение по умолчанию, iCloud Drive\Automatorи мне потребовалось небольшое исследование, чтобы выяснить, где его сохранить, чтобы оно появилось в разделе «Службы в сочетаниях клавиш».)
Колин Джонстон

3

Вы можете создать службу Automator самостоятельно - это довольно просто сделать. Затем вы можете назначить ему сочетание клавиш, чтобы вам не нужно было активировать сервис через меню сервисов (что вы можете сделать в любом случае).

Откройте Automator и выберите Сервис в качестве типа нового документа.

Настройте службу на отсутствие ввода в Finder.app и добавьте действие New TextEdit Document в рабочий процесс.

Workflow

Сохраните службу, затем откройте «Системные настройки» → «Клавиатура» → «Ярлыки» → «Службы», где вы найдете службу, указанную в разделе «Общие», с названием, которое вы указали для службы при ее сохранении.

Сервисы

Добавьте сочетание клавиш к сервису, выбрав сервис и нажав «Добавить ярлык».

Здесь могут возникнуть некоторые проблемы, если ярлык уже используется. Так что будьте изобретательны, чтобы сделать тот, который работает для вас.


3

Вы также можете назначить ярлык для скрипта следующим образом:

tell application "Finder"
    set selection to make new file at (get insertion location)
end tell

Место вставки является целью самого переднего окна Finder или рабочего стола.


Ваш код так прост и полезен! Я использую Automator для создания Приложения, для которого есть только одно действие: Запустите AppleScript с вашим кодом. Затем я положил это приложение в Finder Titlebar. Ничего страшного. когда мне нужно, просто нажмите, и новый файл будет создан в текущей папке.
fantouch

2

открыть терминал и набрать

touch filename

или

> filename

ты потерял меня здесь? что это делает?
Рускес

3
Не могли бы вы рассказать о том, как добавить комбинацию клавиш к этой команде? (@Buscar See touch )
grg

1
хорошо, если у вас есть PathFinder - это действительно отличный вариант; D
rwenz3l

Это прекрасно работает с cmd2shell. Нет ярлыка, но просто нажмите кнопку cmd2shell в Finder и введите команду touch.
eflat

Я искал что-то более совместимое с Finder в OSX.
Гарри

0

Это репост поста, который я сделал в прошлом году. У меня был хороший опыт со следующим.

Вы можете скачать и установить две полезные утилиты, которые позволят вам создать новый текстовый файл (или файл RTF) в открытой в данный момент папке, которую вы просматриваете с помощью Finder.

Утилиты называются NewTextFileHere и NewRTFHere и могут быть загружены с

http://mac.softpedia.com/developer/Jonas-Wisser-37498.html

Значки любого из этих приложений могут быть включены во все окна Finder.



0

В качестве альтернативы, если у вас уже есть BetterTouchTools (раньше это было бесплатное приложение, теперь у него есть модель «плати сколько хочешь» с 30-дневным пробным периодом), вы можете найти действие, на "Utility Actions > Create New File in Current Folder"котором это делается именно с помощью всплывающее окно, чтобы вы могли выбрать имя. Назначьте нужный ярлык (я выбрал Option + Shift + N) и все готово.


0

В случае, если вы используете MacVim, есть опция Finder -> Servicesдля создания нового буфера vim:

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

Я сопоставил это с сокращением ShiftcmdMв System Preferences -> Keyboard -> Shortcuts:

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.