AutoHotKey(오토핫키) 설명서 Hotstring
Hotstring
개요
핫 스트링은, 유저가 특정의 문자열을 타이프 쳤을 때에 액션을 발생 당하는 기능이다.
입력된 문자열을 다른 문자열을 입력하는 자동 치환형과 hot key와 같이 스크립트를 실행하는 타입이 있다.
NT계 전용.
자동 치환형
::btw::by the way
상기와 같이 설정하면, 「btw」라고 하는 단어를 입력했을 때에, 그것이BackSpace그리고 삭제된 후, 대신에 「by the way」라고 입력된다.
치환 후의 텍스트의 지정은Send커멘드와 같이 특수 키등도 지정할 수 있지만,(현재)변수를 전개하는 것은 할 수 없다.
치환 후의 텍스트에2아르바이트 문자를 사용할 수 없기 때문에, 스크립트 실행형으로 클립보드를 경유해 붙이는 등 방법을 취할 필요가 있다.
이 기능은 주로 영어권으로의 텍스트 입력의 절력화를 상정하고 있다고 생각되어 일본어 환경에서는 용도가 한정된다.
거기서, 이 페이지에서는, 스크립트 실행형에 관계가 있는 부분을 주로 설명한다.
스크립트 실행형
::kita-:: Clipboard=렝━━━━━━(刪_)━━━━━━ !!!!! Send,^v Return
상기와 같이 설정하면, 「kita-」라고 타이프 쳤을 때에, 「kita-」(이)가BackSpace그리고 삭제된 후,AA하지만 붙일 수 있다.
타이프 친 텍스트가 삭제되지 않게 하려면 , 후술의 옵션으로 「B0
」(을)를 지정한다.
종료 문자
「::btw::by the way
」라고 설정했을 경우, 단지 「btw」라고 입력하는 것 만으로는 핫 스트링은 발동하지 않는다.
단어의 후에 종료 문자가 입력될 필요가 있다.
디폴트의 종료 문자는, 「-()[]{}':;"/\,.?!{Enter}{Space}{Tab}」이다.
#Hotstring EndChars -()[]{}:;'"/\,.?!`n `t
상기와 같이 기술하면, 종료 문자를 변경할 수 있다.
이 지령은 다른 옵션과 달리, 스크립트중에서1회만 유효하고, 모든 핫 스트링에 영향을 준다.
후술 하는 옵션으로 「*
」(을)를 지정하면, 핫 스트링 마다 종료 문자를 필요로 하지 않게 설정할 수도 있다.
자동 치환형의 경우, 종료 문자는 치환 후의 텍스트가 입력된 뒤에 입력된다.(Enter키 이외)
예를 들면, 「btw/」라고 입력하면, 「by the way/」(이)가 된다.
이것은 「O
」옵션으로 무효화할 수 있다.
스크립트 실행형의 경우, 종료 문자의 입력은 납치되어 없었던 일이 되어 버린다.
스크립트 실행형의 경우, 편입 변수 「A_EndChar」(으)로 입력된 종료 문자를 알 수 있다.
대문자 소문자의 차이
통상은 대문자 소문자의 차이를 무시해 발동한다.
또한, 치환 후의 텍스트가 알파벳열의 경우, 「btw」→「by the way」, 「Btw」→「By the way」, 「BTW」→「BY THE WAY」(와)과 같이 치환된다.
이 동작은, 「C1
」옵션으로 무효화할 수 있다.
대문자 소문자를 구별시키고 싶은 경우는, 「C
」옵션을 사용한다.
「::abc::
」와「::ABC::
」(와)과 같은 대문자 소문자 이외가 같은 핫 스트링 라벨은 존재할 수 없다.
「: :abc::
」(와)과 같이, 옵션을 지정하는 부분에 반각 스페이스를 들어갈 수 있으면, 다른 라벨명으로 인식되게 되어, 대문자 소문자 이외가 같은 핫 스트링을 설정할 수 있다.
옵션
옵션의 지정의 방법에는2가지 있다.
복수의 옵션을 지정할 때는, 스페이스에서 단락지어도 단락짓지 않아도 좋다.
#Hotstring지령
#Hotstring C
상기와 같이 기술하면, 그 이후에 정의되는 핫 스트링의 설정을 변경할 수 있다.
개별 지정
:*:btw::by the way
개별의 핫 스트링의 설정을 지정하려면 , 최초의 「:
」의 사이에 옵션을 기술한다.
옵션 일람
- SI
- 자동 치환으로,Input모드를 사용해 자동 입력을 실시한다.(디폴트)
각 모드의 자세한 것은SendMode커멘드의 설명을 참조. - SP
- 자동 치환으로,Play모드를 사용해 자동 입력을 실시한다.
- SE
- 자동 치환으로,Event모드를 사용해 자동 입력을 실시한다.
- B0
- 입력된 텍스트를BackSpace그리고 삭제하지 않는다.
덧붙여(1.0.17현재)종료 문자의 문자도 삭제되지 않고, 더욱 자동 입력의 후에 종료 문자가 입력되어 버린다. - B
- B0옵션을 해제·무효화한다.
- Z
- 발동한 시점에서, 키 입력의 기억 버퍼를 클리어 한다.
이 옵션을 사용하지 않는 경우, 예를 들어 「B0」 「*」 「?」옵션포함의 「uma」라고 하는 핫 스트링이 발동한 직후는, 기억 버퍼에 「uma」(이)가 들어가 있기 위해, 계속해 「ibou」라고 입력하면, 「umaibou」라고 하는 핫 스트링이 발동해 버린다. - Z0
- Z옵션을 해제·무효화한다.
- C
- 대문자 소문자를 구별한다.
- C1
- 대문자 소문자는 무시하면서, 입력 내용의 대문자 소문자의 따로 따라 자동 입력되는 내용의 대문자 소문자를 변화시키는 기능을 무효화한다.
- Kn
- 키의 입력 간격을 지정한다.
BackSpace에 의한 삭제나 자동 치환에서는,1키 마다 여기서 지정한 밀리 세컨드만 사이를 비워 입력된다.
디폴트는 「0」(으)로, 이 경우 「Sleep 0
」(을)를 실행했을 때와 같이, 다른 프로세스에 의한 세치기를 허락한다.
「-1」(을)를 지정하면, 세치기를 허락하지 않고 최고의 속도로 입력된다. - O
- 자동 치환으로, 마지막에 종료 문자를 입력하지 않는다
- P
- 스크립트 실행형에 있어서의세치기 우선도(을)를 지정한다
- R
- 치환 후의 텍스트로 「{Enter}」(와)과 같은 특수 키의 해석을 실시하지 않고, 기술되고 있는 텍스트를 그대로 입력한다.
- *
- 종료 문자 없이 발동하도록(듯이) 한다.
- ?
- 단어의 도중에 있어도 발동하게 된다.
통상은, 알파벳 키를 타이프 친 직후에 일치하는 입력이 있어도 무시된다. - C0,O0,R0,*0,?0
- 각 옵션의 지정을 무효화·해제한다
비고
BackSpace에 의한 다시 놓아
핫 스트링의 감시는,BackSpace에 의한 수정을 고려한다.
예를 들면, 「br{BackSpace}tw」(은)는 「btw」에 매치한다.
다른 비문자 키는 무시되어 감시 내용은 리셋트 된다.
마우스 클릭을 했을 경우도, 감시 내용은 리셋트 된다.
텍스트 입력란 이외로의 동작
핫 스트링은 텍스트를 입력할 수 없는 장소에서도 완전히와 같이 동작한다.
자동 입력되는 키에 의해서 예기치 못한 동작이 되는 경우도 있으므로 주의가 필요.
IME사용시의 동작
핫 스트링은IME하지만ON때에도 유효하다.
IME하지만ON때에 텍스트가 자동 입력되면, 「btw」→「by(이)라고 원y」와 같이 히라가나에 변환되어 이상해져 버린다.
또, 「kita-」(와)과 같은 모음을 포함한 핫 스트링에서는, 「왔다―」(와)과 같이 미확정 문자열의 문자수가 줄어 들어 버리기 위해,BackSpace에 의한 자동 삭제로 여분으로 삭제를 해 버린다.
예를 들면,IME그리고 「주먹밥」을 확정하고, 다음에 「왔다―」(을)를 입력했을 경우,2문자 불필요하게 삭제되어 「도깨비렝━(刪_)━!!」가 되어 버린다.
이것을 회피하려면 , 「kt-」(와)과 같이 모음을 포함하지 않는 핫 스트링에 할당하면 좋다.
또,IME의 설정에 따라서는, 「Kita-」(와)과 같이Shift(을)를 누르면서 영문자를 입력하면, 알파벳 상태로 입력된다.
이 경우, 타이프 친 문자수와BackSpace그리고 삭제해야 할 문자수는 일치할 것이다.
따라서, 「Kita-」(와)과 같이 핫 스트링을 대문자로 치기 시작하도록 하면, 불필요한 문자까지 삭제되어 버리는 것은 회피할 수 있다.
잘못해 「왔다―」라고 입력하고 있을 때 발동해 버리는 것을 피하고 싶으면, 「:C:Kita-::」(와)과 같이 「C」옵션을 붙이고, 대문자 소문자가 일치하지 않을 때는 발동하지 않게 설정하면 된다.
문자수의 상한
핫 스트링으로서 사용할 수 있는 문자수의 상한은40문자.
치환 후의 문자열은1행의 길이의 상한이다16,383까지 가능.
복수 매치시의 우선도
입력이 복수의 핫 스트링에 매치하는 경우, 먼저 지정하는 것이 우선된다.
:?:btw::by the way ::abtw::aaaaa
위의 예에서는, 「abtw」라고 입력했을 때 「btw」의 부분이 「by the way」에 치환된다.
'AutoHotKey > Commands' 카테고리의 다른 글
AutoHotKey(오토핫키) 설명서 If (변수의 비교) (0) | 2014.08.14 |
---|---|
AutoHotKey(오토핫키) 설명서 If var [not] between L and U (0) | 2014.08.14 |
AutoHotKey(오토핫키) 설명서 Hotkeys (0) | 2014.08.14 |
AutoHotKey(오토핫키) 설명서 Hotkey (0) | 2014.08.14 |
AutoHotKey(오토핫키) 설명서 GuiControlGet (0) | 2014.08.14 |