はてブ拡張のタグ付けを補助するAutoHotkeyスクリプト

使い方

はてなブックマーク拡張にコメントを入力後、選択してから任意のキーを押すといい感じのタグに変換する。


以下のコードは変換キーに割り当てています。

;はてなブックマーク拡張のタグ付けをサポート。はてブ拡張のダイアログだけで動作。
;文字列を選択してキー押下でタグに加工。スペースや改行は区切りと見なす。
;例「しなもん はてな」→「[しなもん][はてな]」
;英語版は「#IfWinActive ブックマークを〜」のタイトル部分を適宜変えること。
;====================
SetTitleMatchMode, RegEx
#IfWinActive ブックマークを(追加|編集) ahk_class MozillaDialogClass
sc079:: ;変換キー
cc := Clipboard
Send, ^c
ClipWait, 1
Clipboard := RegExReplace(RegExReplace(Clipboard, "^[\s ]+|[\s ]+$", ""), "[\s ]+", "][")
Clipboard = [%Clipboard%]
Send, ^v
Clipboard := cc
return
#IfWinActive

注意

  • クリップボードにテキスト以外の画像などが入っている場合はそれを壊してしまい、貼り付けができなくなる。
    • ClipboardAllを変数にコピーしてClipboardに戻してもうまくいかない。

技術メモ

  • #IfWinActiveでタイトルの正規表現マッチを行うためにSetTitleMatchMode, RegEx
  • #IfWinActiveでタイトル、クラス名など複数の条件を付ける場合はタイトルが先。ウィンドウ指定の方法 - AutoHotkeyJp
  • 変数名は大文字小文字の区別をしない。
  • if文は条件の後に改行必須。C言語のように if (hoge) i++ 一行で表現することはできない。
  • Send, ^cでコピーしたあと ClipWait, 1は必須。選択せずに動作した場合、永久に待ち受けるためらしい。
  • クリップボードの画像を変数に入れて後で戻したいがうまくいかない。ClipboardAllがおかしい?ClipWaitの第2引数がカギ?ClipWait - AutoHotkeyJp
  • 日本語を入力する際はクリップボードを使ったほうがいい。Sendだとキータイプイベントを送るのでうまくいかない。
  • クリップボードを使う利点。元に戻す(Undo)が一発。
  • IMEの状態確認、on/off,半角/全角切り替えはIME.ahkが便利。 AutoHotokeyを流行らせるアップローダ089.zipに入っている。
  • 関数ライブラリスクリプトIME.ahkなど)は「%A_MyDocuments%\AutoHotkey\Lib\」に突っ込んでおくと#Includeなしで使える。