Buat file (.txt) baru di Finder - Pintasan Keyboard

24

Saya ingin tahu apakah ada cara untuk mengatur pintasan keyboard untuk membuat file baru di Finder. Misalnya, secara default, Anda dapat membuat folder baru menggunakan CMD+ Shift+ N. Apakah ada pintasan keyboard untuk membuat file teks baru? Saya seorang programmer jadi ini akan sangat berguna

Saya juga tertarik untuk membuat jenis file lain menggunakan pintasan keyboard.

Saya telah mencoba menggunakan automator tetapi saya merasa cukup membingungkan dan saya tidak yakin bagaimana saya akan menghubungkan pintasan keyboard ke sana.

Harry
sumber

Jawaban:

21

Nah, di sini Anda pergi dengan AppleScript untuk itu.

Pertama, buat AppleScript:

  1. Buka Automator
  2. Buat Tindakan Cepat
  3. Atur input ke no input
  4. Seret dan Jatuhkan elemen Run AppleScript workflow ke ruang abu-abu.
  5. Rekatkan kode dari bawah ke AppleScript
  6. Simpan alur kerja sebagai Buat file baru
    Jika Anda telah mengaktifkan iCloud Drive, pastikan Anda menyimpan file tersebut di Library/Services/dalam Home Folder Anda.

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

Untuk menambahkannya sebagai pintasan:

  • Pergi ke System Preferences -> Keyboard -> Shortcuts -> Services
  • Gulir ke bawah hingga Anda menemukan Layanan Buat file baru
  • Tetapkan pintasan dengan mengeklik pada tidak ada sisi kanan , yang berubah menjadi a Add Shortcut.
    Klik Tombol dan ketik pintasan yang ingin Anda gunakan.
    Saya menggunakan ⌘ Command+ ⌥ Option+N
rwenz3l
sumber
2
Saya tidak mengerti cara mengatur pintasan ke skrip khusus ini melalui tab layanan
Harry
Saya menambahkan cara yang lebih rinci tentang cara menambahkan skrip ini sebagai pintasan.
rwenz3l
Sekarang seharusnya berfungsi dengan folder kosong juga. Setidaknya itu bekerja untuk saya. Anda dapat menulis file template Anda di dalam skrip "filename.txt".
rwenz3l
7
Mengapa mereka tidak memiliki sesuatu seperti itu secara default? Ada apa dengan mereka?
G.Rassovsky
11

Saya telah membuat AppleScript sangat mirip dengan yang @ YoshiBotX, tetapi dengan beberapa perbaikan.

Idenya adalah untuk membuat alur kerja Automator dan menetapkan pintasan untuknya menggunakan langkah-langkah berikut:

  • Buka Automator dan buat Layanan ;
  • Atur input ke no input , dan aplikasi ke Finder.app ;
  • Seret dan Jatuhkan elemen Run AppleScript workflow ke ruang abu-abu;
  • Masukkan konten AppleScript ini di kotak teks;
  • Simpan alur kerja dengan nama yang masuk akal (seperti File Baru );
  • Buka Pengaturan -> Keyboard -> Pintasan -> Layanan dan tentukan pintasan untuk itu.

Sekarang, mari kita tunjukkan 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

Untuk kenyamanan, saya meletakkan AppleScript ini di GitHub Gist ini .

Rarylson Freitas
sumber
1
Skrip yang bagus, terima kasih. Satu-satunya hal yang saya tambahkan pada penulisan ini untuk membuatnya lebih lengkap adalah info yang menginstruksikan pengguna Automator baru bahwa script alur kerja yang mereka buat harus disimpan ~/Library/Services. (Default saya ada di iCloud Drive\Automatordan butuh sedikit riset untuk mencari tahu di mana harus menyimpannya sehingga akan muncul di bawah Layanan di Keyboard Shortcuts.)
Colin Johnston
3

Anda dapat membuat Layanan Automator sendiri - ini agak mudah dilakukan. Kemudian Anda dapat menetapkan pintasan keyboard untuk itu sehingga Anda tidak perlu mengaktifkan layanan melalui menu layanan (yang dapat Anda lakukan pula).

Buka Automator dan pilih Layanan sebagai jenis dokumen baru.

Setel layanan untuk tidak menerima input dalam Finder.app dan tambahkan aksi Dokumen TextEdit Baru ke alur kerja.

Alur kerja

Simpan layanan, lalu buka System Preferences → Keyboard → Shortcuts → Layanan di mana Anda akan menemukan layanan yang terdaftar di bawah Umum dengan nama yang Anda berikan untuk layanan ketika Anda menyimpannya.

Jasa

Tambahkan pintasan keyboard ke layanan dengan memilih layanan lalu mengklik 'tambah pintasan'.

Di sini Anda mungkin memiliki beberapa masalah jika pintasan sudah digunakan. Jadi, berkreasilah untuk membuat yang cocok untuk Anda.

Ruskes
sumber
3

Anda juga dapat menetapkan pintasan ke skrip seperti ini:

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

Lokasi penyisipan adalah target jendela Finder paling depan atau desktop.

Lri
sumber
Kode Anda sangat sederhana dan bermanfaat! Saya menggunakan Automator untuk membuat Aplikasi, yang hanya ada satu tindakan: Jalankan AppleScript dengan kode Anda. Lalu saya memasukkan Aplikasi ini ke dalam Finder Titlebar. Tidak apa-apa. ketika saya perlu, cukup klik, dan file baru akan dibuat di folder saat ini.
fantouch
2

buka terminal dan ketik

touch filename

atau

> filename
tembakan menjauh
sumber
kamu kehilangan saya di sini? apa fungsinya?
Ruskes
3
Bisakah Anda mengembangkan cara menambahkan pintasan keyboard ke perintah ini? (@Buscar Lihat sentuhan )
grg
1
baik jika Anda memiliki PathFinder - itu benar-benar pilihan bagus; D
rwenz3l
Ini berfungsi cukup baik dengan cmd2shell. Tidak ada jalan pintas, tetapi cukup klik tombol cmd2shell di finder dan ketik perintah sentuh.
eflat
Saya mencari sesuatu yang lebih kompatibel dengan Finder di OSX.
Harry
0

Ini adalah pos dari pos yang saya buat tahun lalu. Saya memiliki pengalaman yang baik dengan yang berikut ini.

Ada dua utilitas bermanfaat yang dapat Anda unduh dan instal yang memungkinkan Anda membuat file teks (atau file RTF) baru di folder yang saat ini terbuka yang Anda lihat menggunakan Finder.

Utilitas disebut NewTextFileHere dan NewRTFHere dan dapat diunduh dari

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

Ikon untuk salah satu aplikasi ini kemudian dapat dimasukkan pada semua jendela Finder Anda.

Richard Fuhr
sumber
0

Alternatif, jika Anda sudah memiliki BetterTouchTools (dulu aplikasi gratis, sekarang memiliki model bayar apa yang Anda inginkan dengan masa percobaan 30 hari), Anda dapat menemukan tindakan "Utility Actions > Create New File in Current Folder"yang melakukan hal ini dengan tepat, dengan pop-up untuk membiarkan Anda memilih nama. Tetapkan pintasan yang Anda inginkan (saya memilih Opsi + Shift + N) dan Anda siap melakukannya.

Zequez
sumber
0

Jika Anda menggunakan MacVim, ada opsi di bawah Finder -> Servicesuntuk membuat buffer vim baru:

masukkan deskripsi gambar di sini

Saya telah memetakan ini untuk memotong pendek ShiftcmdMdi System Preferences -> Keyboard -> Shortcuts:

masukkan deskripsi gambar di sini

tidbeck
sumber