0
私は「キャレットが前にあるとき、タブの右送る持ってしてみてください」またはまたは)または]または} ...。AutoHotkeyをテキスト付きタブ
1)どのように私はこれらを検出することができますAHK条件コードをいじりせずに文字?
2)私はタブがランダムな文字の前にするとき右送るが、条件が真でない場合、それはタブを送信しません得ることができた。
あなたは私を助けることができますしてください?私は
ここに私のコードです:
; Notepad++ | Tab = right arrow if before " or ' or) or ] or }
GetCaretText()
{
ClipboardToRestore := ClipboardAll
Clipboard =
Send +{right 1}
Send ^c
ClipWait
Send {left 1}
CaretText := Clipboard
Clipboard := ClipboardToRestore
return CaretText
}
Tab::
if (GetCaretText() = "" or GetCaretText() = "" or GetCaretText() = "" or GetCaretText() = "" or GetCaretText() = "")
Send {right}
else
Send {tab}
return
ありがとうございました! それは動作しますが、スクリプト自体以外の別の文書の空行でTabキーを押すと、スクリプトはそれ以上動作せず、Tabキーは無効になります。スクリプトをリロードする必要があります。何が原因で何が起こるのでしょうか? –
Mh、これは「まったく」動かず奇妙なことをします^^たぶん両方のバージョンの組み合わせが仕事をするでしょう(最初のものはほぼOKでした) –
ありがとうございます。それぞれのケースは「手動」ですか?新しいコードには、予期せぬ動作があります。たとえば、スニペットがうまくいきません。「if + tab」を送信したスニペットは「if(|){}」を送信しますが、if if |}}を送信します。最初のスクリプトからrebaseする必要があります。ところで、私はメモ帳++にあり、コードがそこでしか動作しないのは大丈夫です。 –