Mac'te bir yyyy-aa-gg ss: dd: ss zaman damgası kısayol tuşu almanın en kolay yolu nedir?


12

On Windows'un kullandığım PSPad sen biçimini, örneğin düzenleyebilir güzel ALT-D damgası vardır editörü dd:: ss yyyy-aa-gg ss .

Bir düzenleyicinin dışında çalışırken, örneğin Google Dokümanlar , yyyy-aa-gg ss: dd: ss zaman damgası eklemek için CTRL- D'yi programladığım Autohotkey'e sahibim .

Şu anda editörüm olarak TextWrangler'ı kullanan bir Mac üzerinde çalışıyorum, ancak özelliklerinde bir zaman damgası kısayol tuşu bulamıyorum.

Mac'te yyyy-aa-gg ss: dd: ss kısayol tuşunu (ücretsiz) metin düzenleyicide veya (ücretsiz) otomatik kısayol tuşu eşdeğerinde almanın en kolay yolu nedir?


Sizin için işe yaramazsa lütfen cevabımı yorumlayın.
Daniel Beck

Yanıtlar:


18

Bir seçenek bir kabuk komut dosyası veya Python / Perl / Ruby komut dosyası kullanmaktır.

Python kullanan bir seçenek :

#!/usr/bin/env python
import time
t = time.localtime()
# yyyy-mm-dd hh:mm:ss
print '%d-%02d-%02d %02d:%02d:%02d' % (t.tm_year, t.tm_mon, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec)

@NReilingh tarafından ( kısaltılmışdate komut dosyası) kullanılan bir başka kısa dosya :

date "+%Y-%m-%d %T"

Bu komut dosyasını yürüten /Applications/Automator.appbir Hizmet oluşturmak için kullanın . Ekle Run Shell Senaryo Otomatikleştirici eylem ve üzeri kodu eklemek. Seç hiçbir girdi içinde herhangi bir uygulama ve cümledeki seçili metne . Sonra kaydedin.

Uygulama adının bulunduğu menüyü seçerek herhangi bir uygulamanın menü çubuğundan erişilebilen Hizmetler menüsüne yerleştirilir . Kullandığınızda şöyle görünebilir:

alternatif metin

Sistem Tercihleri'ndeki Klavye tercih bölmesine klavye kısayolları atayın .

alternatif metin


Artık özgür olmayan TextExpander , istediğiniz gibi bir özelliğe sahip. Parçacık ekleme, örneğin kısmi e-posta şablonları için tasarlanmış bir uygulamadır.


TextMate , özel komutları tekrar kabuk veya komut dosyası dillerinde kolayca tanımlamanızı ve bunlara klavye kısayolları atamanızı sağlayan genişletilebilir, ticari bir düzenleyicidir.


Eğer kendim öyle söylersem, $ date "+%Y-%m-%d %T"biraz daha kompakt olur ... ama ikisinden de istediğim gibi çalışamıyorum. Mevcut metin girişine metin eklemek için bir otomatikleştirici eylemi nasıl elde edilir?
NReilingh

Tamam, anladım: Üstteki "Seçili metni değiştirir", ham kabuk komut dosyası çıktısının eklenip eklenmediğini kontrol etmelidir ZORUNLU. Lanet olası bir şey bulmam yarım saatimi aldı - AppleScript tuş vuruşunu kullanarak bir cevap göndermek üzereydim. Ayrıca, hizmetin evrensel olarak erişilebilir olmasını istiyorsanız, üstte "Hizmet herhangi bir uygulamada girdi almıyor" ifadesini tanımladığınızdan emin olun.
NReilingh

@NReilingh Üzgünüm, ama bunu yayınladığım için acelem vardı, bir kez şansım olduğunda (ki şimdi birkaç dakika içinde) geliştirmek niyetiyle.
Daniel Beck

Ben usr/bin/env Pythonaçılır menüden seçmelisiniz veya böyle bir şey (Python olan bir) eklemek istiyorum , aksi takdirde ne olursa olsun uygulama Servis komut dosyası çağırırsa onun Python tanımak için bilemez. En azından bunu yapana kadar benim için işe yaramadı.

Daha sonra metnin seçimini nasıl kaldırabilirim?
schmunk

4

10.7 ve 10.8'de, Automator hizmetleri kısayollarının, servisler menü çubuğunda gösterilinceye kadar her zaman çalışmadığı bir hata var. Servisler çalıştırılmadan önce de belirgin bir gecikme yaşanıyor. Başka bir seçenek, böyle bir komut dosyasına kısayol atamak olacaktır :

set old to the clipboard as record
set the clipboard to (do shell script "date '+%Y-%m-%d %H:%M:%S'")
tell application "System Events" to keystroke "v" using command down
delay 0.05
set the clipboard to old

keystrokebasılı tutulan değiştirici tuşlarını yok saymaz, bu nedenle komut dosyasını komuttan başka değiştirici tuşlara sahip bir kısayolla çalıştırırsanız başlangıca küçük bir gecikme ekleyin. FastScripts , tuş vuruşu veya tuş kodu komutları içeren komut dosyalarını çalıştırmadan önce değiştirici tuşların serbest bırakılmasını bekler.


Cmd-CEski panonun saklanması ile yeni pano içeriğinin ayarlanması arasındaki amaç nedir ?
Daniel Beck

@DanielBeck Hiçbir şey, işaret ettiğiniz için teşekkürler.
Lri

Pano, özellikle kullanıcı ClipMenu veya benzeri bir şey kullanıyorsa, karışıklıktır.
Dan Rosenstark

@Yar Alfred, "geçici" panoları yok sayar ve keystrokeklavye düzenimle sütunları nasıl ekleyeceğimi bilmez (ancak bu bir uç durumdadır). keystrokebunun gibi kısa ASCII-yalnızca dizeleri eklemek için daha iyi olabilir.
Lri

Whew sadece İspanyolca ile kontrol, belki benim Applescript işe yaramaz düşündüm. Sorun değil, bazı diller aynı önceliğe sahip değil. Bu yüzden komut dosyası oluşturmak programlamadan çok daha can sıkıcıdır;) Bunun için AlfredApp'ı kontrol edecektir. Muhtemelen $$$
Dan Rosenstark


1

Laurie'nin çözümü benimkinden çok daha zarif, ama işte sadece AppleScript çözümüm. Panodan geçmek ve kabuk komut dosyası kullanmaktan daha mı hızlı? Olabilir.

Her neyse: Bir anahtara atanması için birçok çözüm var, ama en kolayının Quicksilver Spark FastScripts olduğunu buldum . Spark sadece AppleScript çözümünün kaydettiği scpt'i kullanabilir.

OSX'te Tarih ve Zaman Damgası Tetikleyicisi

-- yar2050 (Dan Rosenstark)'s favorite date format 
-- 2017-08-03 update
on fillInZero(int)
    if (int < 10) then set int to "0" & int
    return int as string
end fillInZero

set theDate to (current date)
set theHour to fillInZero(hours of (theDate) as integer)
set theMinutes to fillInZero(minutes of (theDate) as integer)
tell theDate to get (its month as integer)
set theMonth to fillInZero(result)
set theDay to fillInZero(day of theDate)
tell (theDate) to get (its year as integer) & "-" & (theMonth) & "-" & theDay & " " & (theHour) & ":" & theMinutes
set date_ to (result as string)
tell application "System Events"
    set frontmostApplication to name of the first process whose frontmost is true
end tell


tell application frontmostApplication
    delay 0.2 -- I have no idea why this is necessary
    activate
    tell application "System Events"
        if (frontmostApplication = "Evernote") then
            keystroke "h" using {command down, shift down}
            keystroke "b" using {command down}
            keystroke date_
            keystroke "b" using {command down}
        else
            keystroke date_
        end if
    end tell
end tell

0

Bu sorunun bir güncellemesi olarak, OS X El Capitan kullanıcıları aşağıdaki AppleScript'i yararlı bulabilir.

set the clipboard to (do shell script "date +%Y-%m-%d\" \"%H:%M:%S")
tell application "System Events"
    keystroke "v" using command down
end tell

Kullanıcılar, @ daniel-beck tarafından yukarıdaki yanıtta açıklandığı gibi bir Run AppleScript iş akışı oluşturabilir . Oluşturduğum örnek aşağıda gösterilmektedir:

el yazısı içinde applecript ekran görüntüsü

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.