AutoHotkey の Hotstring で曜日文字列を素早く入力する
w[[
と打つと(今日が金曜日なら)Fri
が入力される……そんなことがしたかった。
コード
; Hotstring のオプション. 自分好み. ; - 終了文字無しで発動させる ; 0 自動置換後、最後に終了文字を入力しない #Hotstring * #Hotstring O ; 曜日文字列を作るところ. ; 最初は配列を使おうとしたが AutoHotkey の配列型は扱いがよくわからず断念. ; 文字列操作で頑張ることにした. get_dowstr() { FormatTime, downum,, WDay dowtable := "SunMonTueWedThuFriSat" ; Wday は日曜日が 1、 ; StringMid も 1-origin、 ; ということでちゃんと整理しないと位置計算に戸惑う. startpos := ((downum-1)*3)+1 dowstr := "" StringMid, dowstr, dowtable, %startpos%, 3 return dowstr } ; w[[ → 曜日文字列を実現する Hotstring 本体部分 ::w[[:: dowstr := get_dowstr() Clipboard = %dowstr% Send,^v ;SendInput %now% return
おわりに
AutoHotkey の Hotstring で現在日時を指定フォーマットで挿入する - stamemo と組み合わせれば、日付時刻文字列の入力は自由自在。
私はメモ時にメモ時刻も併記するタイプなのだが、いちいち日付時刻文字列を手打ちするのはだるかった。ようやく思い通りの、素早い併記を実現できそうだ。