Створіть новий (.txt) файл у Finder - ярлик клавіатури


24

Мені хотілося знати, чи є спосіб встановити комбінації клавіш для створення нових файлів у Finder. Наприклад, за замовчуванням ви можете створити нову папку за допомогою CMD+ Shift+ N. Чи є комбінація клавіш для створення нового текстового файлу? Я програміст, тому це було б надзвичайно корисно

Мені також було б цікаво створити інший тип файлу за допомогою комбінацій клавіш.

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

Відповіді:


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 & "\""

Щоб додати його як ярлик:

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

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

Я додав більш детальний спосіб, як додати цей скрипт як ярлик.
rwenz3l

Тепер він також повинен працювати з порожніми папками. Принаймні, це працює для мене. Ви можете написати файл шаблону всередині сценарію "filename.txt".
rwenz3l


7
Чому вони не мають чогось такого за замовчуванням? У чому справа з ними?
Г.Расовський

11

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

Ідея полягає у створенні робочого процесу Автоматизатора та призначенні ярлика до нього, виконавши наступні кроки:

  • Відкрийте 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
Відмінний сценарій, дякую. Єдине, що я хотів би додати до цього запису, щоб зробити його більш повним - це інформація, яка дає інструкціям новіших користувачів Автоматизатора, що сценарій робочого процесу, який вони створюють, слід зберігати ~/Library/Services. (Моє значення за замовчуванням було, iCloud Drive\Automatorі мені знадобилось трохи вивчити, де його зберегти, щоб воно з’явилося в розділі Служби в клавіатурних скороченнях.)
Колін Джонстон,

3

Ви можете створити службу автоматизації самостійно - це зробити досить просто. Тоді ви можете призначити їй комбінацію клавіш, щоб вам не потрібно було активувати послугу через меню служб (що ви все одно можете зробити).

Відкрийте Automator і виберіть Сервіс як тип нового документа.

Встановіть службу, щоб вона не отримувала введення в Finder.app, і додайте в робочий процес дію «Новий документ TextEdit».

Робочий процес

Збережіть послугу, потім відкрийте Налаштування системи → Клавіатура → Комбінації клавіш → Сервіси, де ви знайдете службу, перелічену в розділі Загальні, з ім'ям, яке ви надали для послуги, коли ви її зберегли.

Послуги

Додайте комбінацію клавіш до сервісу, вибравши службу, потім натиснувши "Додати ярлик".

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


3

Ви також можете призначити ярлик такому сценарію :

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

Місце вставки - це або ціль переднього вікна Finder, або робочий стіл.


Ваш код такий простий і корисний! Я використовую Автоматизатор для створення програми, в якій є лише одна дія: Запустіть AppleScript зі своїм кодом. Потім я помістив цю програму на заголовок Finder. Все добре. коли мені потрібно, просто натисніть, і новий файл буде створений у поточній папці.
fantouch

2

відкритий термінал і наберіть

touch filename

або

> filename

ти тут мене загубив? що це робить?
Рускес

3
Чи можете ви розширити, як ви додали комбінацію клавіш до цієї команди? (@Buscar Див. Touch )
гр

1
добре, якщо у вас є PathFinder - це справді чудовий варіант; D
rwenz3l

Це дуже добре працює з cmd2shell. Немає ярлика, а просто натисніть кнопку cmd2shell в пошуку і введіть сенсорну команду.
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.