1

コードポイントを使用しない限り、AutoHotKey は WSL に数字を挿入できません

使うpython3度に使いたくなるpipenv。そのためには、次を挿入する必要がありますpip --python /usr/bin/python3 etc.--python /usr/bin/python3ただし、毎回入力する必要はないので、その部分を AutoHotKey スクリプトで自動化しました。

次の行は、メモ帳ファイルやパス バーなどの任意の場所にホットストリングを入力すると正常に機能します。

::pipenv::pipenv --python /usr/bin/python3 

pipenvたとえば、メモ帳に入力すると、文字列pipenv --python /usr/bin/python3が挿入されます。

ただし、WSL (Linux 用 Windows サブシステム) で入力すると、次のようになります。

 pipenv 66python LusrLbinLpython·

CMD でも同じ結果が得られますが、驚くべきことに PowerShell (期待される出力が得られる場所) ではそうではありません。

コマンド ラインで動作させるには、文字自体の代わりに 16 進数のコードポイント (またはエンティティ参照、適切な名前がわからない) を使用してスクリプトを書き直す必要がありました。

::pipenv::pipenv {U+2D}{U+2D}python {U+2F}usr{U+2F}bin{U+2F}python{U+33}

pipenv --python /usr/bin/python3そうすれば、コマンドラインと他の環境の両方で出力が期待されます。-これらの文字 ( 、/および) は通常の ASCII 文字であるため、これが当てはまることに驚いています3。そのため、コードポイントを使用する必要がある理由がわかりません。

AutoHotKey スクリプトには、CRLF 行末記号付きの UTF-8 Unicode (BOM 付き) テキストが含まれています。

一言で言えば、スクリプトを機能させることができました。この質問を開く理由は、なぜこれが起こるのかを理解することです。ありがとう。

4

0 に答える 0