web-dev-qa-db-ja.com

Macでyyyy-mm-ddhh:mm:ssタイムスタンプホットキーを取得する最も簡単な方法は何ですか?

WindowsではPSPadエディターを使用します。このエディターにはNice ALT-Dタイムスタンプがあり、次の形式を編集できます。 yyyy-mm-dd hh:mm:ss

エディターの外部で作業する場合、例: Google Docs、あるAutohotkey CTRL-Dでyyyy-mm-dd hh:mm:ssタイムスタンプを挿入するようにプログラムしました。

現在、エディターとしてMacTextWranglerを使用していますが、その機能にタイムスタンプホットキーが見つかりません。

Macでyyyy-mm-dd hh:mm:ssホットキーを取得する最も簡単な方法は、(無料の)テキストエディターまたは同等の(無料の)自動ホットキーです

11
Edward Tanguay

1つのオプションは、シェルスクリプトまたはPython/Perl/Rubyスクリプトを使用することです。

Pythonを使用する1つのオプション:

#!/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)

別の短い、@ NReilinghdate(シェルスクリプト)を使用:

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

使用する /Applications/Automator.appこのスクリプトを実行するServiceを作成します。 Run Shell ScriptAutomatorアクションを追加し、上記のコードを挿入します。 no inputinany applicationを選択し、は選択したテキストを置換します。次に保存します。

これは、Servicesメニューに配置されます。このメニューには、アプリケーションの名前でメニューを選択することにより、任意のアプリケーションのメニューバーからアクセスできます。使用すると、次のようになります。

alt text

システム環境設定キーボード設定ペインでキーボードショートカットを割り当てます。

alt text


もはや無料ではない TextExpander には、あなたが望むものに似た機能があります。これは、スニペット挿入用に設計されたアプリケーションです。部分的な電子メールテンプレート用。


TextMate は拡張可能な商用エディターであり、シェル言語またはスクリプト言語でカスタムコマンドを簡単に定義し、キーボードショートカットを割り当てることができます。

17
Daniel Beck

10.7と10.8にはバグがあり、メニューバーからサービスメニューが表示されるまで、Automatorサービスのショートカットが常に機能するとは限りません。また、サービスが実行されるまでに顕著な遅延があります。別のオプションは、 スクリプトにショートカットを割り当てる 次のようになります。

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

keystrokeは、長押しされた修飾キーを無視しないため、コマンド以外の修飾キーを持つショートカットを使用してスクリプトを実行する場合は、開始に少し遅延を追加します。 FastScripts 修飾キーが解放されるまで待機してから、キーストロークまたはキーコードコマンドを含むスクリプトを実行します。

4
Lri

この機能をサービスとして追加するWordServiceと呼ばれるフリーウェアアドオンをインストールできます。これには、システム環境設定->キーボード->ショートカットでキーボードショートカットを割り当てることができます。

これはMacOSXのヒントからの記事です http://www.macosxtips.co.uk/index_files/automatically-insert-date-and-time.php

http://www.devontechnologies.com/download/products.html またはApp Storeからダウンロード http://appstore.com/mac/wordservice

1
Motin

Lauriのソリューションは私のものよりもはるかにエレガントですが、これがAppleScriptのみのソリューションです。クリップボードを実行してシェルスクリプトを使用するよりも高速ですか?多分。

とにかく:キーに割り当てるための解決策はたくさんありますが、最も簡単なのは クイックシルバースパークFastScripts 。 Sparkは直接scptを使用できます。これはAppleScriptソリューションが保存するものです。

OSXの日付とタイムスタンプのトリガー

-- 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
1
Dan Rosenstark

この質問の更新として、OS X ElCapitanのユーザーは次のAppleScriptが役立つと思うかもしれません。

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

ユーザーは、@ daniel-beckによる上記の回答で説明されているように、Run AppleScriptワークフローを作成できます。作成した例を以下に示します。

screenshot of applescript in automator

0
Jerry W.