Typinator는 손쉽게 상용구 작성 등을 도와주는 앱으로(영어로는 typing shortcut utility라고도 부르는 것 같다.), 미리 지정해 놓은 약어(abbreviation)를 입력하면 미리 입력해 둔 상용구가 자동으로 씌여지도록(expanding) 하는 것이 기본 활용방법이다. TextExpander가 가장 널리 알려져 있는 것 같으며, aText, Keyboard Maestro, Alfred, Dash 등의 앱에서도 유사한 기능을 제공하고 있다. 심지어 맥의 기본 기능에도 이와 유사한 역할을 하는 설정이 있으며(System Preferences (시스템 환경설정) > Keyboard (키보드) > Text (텍스트)), 또한 Microsoft Word 등에서도 “상용구”라는 이름의 메뉴로 이와 유사한 기능을 제공한다. 본 글의 목적은 이러한 앱들의 특징이나 장단점을 분석하는 것이 아니고, 단지 내가 Typinator를 어떻게 사용하는지 정리하는 것에 있다(나는 Typinator를 사랑하니까).
사용 목적 및 abbreviation 설정
나의 경우, Typinator의 사용 목적이 상용구를 빠르게 작성하기 보다는 상용 단어를 빠르게 작성하는데 있다.
Typinator를 맨 처음 설치하면 기본적으로 안내하는 약자 지정 방식으로 ”;”+”abbreviation”를 제안하는 것으로 기억한다. 그러나 식별자 ; 를 먼저 적고 abbreviation을 적는 것은, 단어를 작성하는 동안이 아니라 단어를 작성하기 전에 expansion의 활용을 예상해야하기 때문에, 특별한 경우를 제외하고 나는 다음과 같은 방식을 선호한다.
영어 키보드인 경우: “abbreviation”+”`”
한글 키보드인 경우: “abbreviation”+”₩”
영어 키보드인 경우와 한글 키보드인 경우가 다른 이유는 키보드 제일 왼쪽 상단의 1 왼쪽에 있는 키가 영어, 한글 키보드에 따라 ` 또는 ₩로 표시되기 때문이다 (맥 기준)
서식없이 붙여넣기
어딘가에서 텍스트를 복사해서 서식을 다 지우고 그냥 텍스트(plain text)로만 복사해서 붙여 넣을 때 사용
Table 1. 서식없이 붙여넣기 (알파벳 자판)
Abbreviation
Expansion
Option
`v
{clip}
Case does not matter
Table 2. 서식없이 붙여넣기 (한글 자판)
Abbreviation
Expansion
Option
₩ㅍ
{clip}
Case does not matter
여기서 {clip}이 Typinator에서 제공하는 서식없이 붙여넣기 기능이다.
단순히 자주 쓰는 단어들
email 주소라든지... 생각해보니 뭔가를 특별히 정해놓는다기보단 그때 그때 임시로 사용하는 듯 하다. 아래는 email 사용 예.
Table 3. 자주 쓰는 단어 확장하기
Abbreviation
Expansion
Option
eu`
eu.openest@gmail.com
Case does not matter
고유명사, 약자 등이어서 영단어에 대소문자가 섞여 있는 경우, 또는 camelCase
자주 쓰면서 영단어에 대소문자가 맘대로 섞여 있어서 shift 키 누르기 귀찮은 경우에 사용
Table 4. 고유명사로, 단어에 대소문자 섞여있는 경우 (1)
Abbreviation
Expansion
Option
aecosim`
AECOsim
Case does not matter
Table 5. 고유명사로, 단어에 대소문자 섞여있는 경우 (2)
Abbreviation
Expansion
Option
landxml`
LandXML
Case does not matter
Table 6. 약어로, 단어에 대소문자 섞여있는 경우
Abbreviation
Expansion
Option
lod`
LoD
Case does not matter
Table 7. IFC entity에 camelCase 적용
Abbreviation
Expansion
Option
ifcbuildingelement
IfcBuildingElement
Whole word, Case does not matter
Table 7의 경우에는 “`”없이 그냥 단어 전체가 매칭되면 expansion 되도록 하였다.
한글과 영어가 막 섞인 글을 쓸 때
한글로 작성하는 글의 대부분의 경우에 해당. 그래서 abbreviation에 한글자모를 넣어둠. 매우 효과적임. 너무 사랑하는 기능임.
Table 8. 한글 자모로 단어 확장하기
Abbreviation
Expansion
Option
ㅣㅐㅇ₩
LoD
Table 9. 한글 자모로 단어 확장하기
Abbreviation
Expansion
Option
ㅠㅑㅡ₩
BIM
근데, 이 경우는 좀 더 추가적인 작업이 필요하다. Typinator가 한글을 지원하지 않기 때문에 이를 가능하게 하기 위해서는 특정 터미널 명령을 실행할 필요가 있다. 명령어는 다음과 같다.
이건 내가 알아낸게 아니고 구글링해서 알아낸건데, 사실 난 이거 적용한지도 오래되어서 정확하게 어디서 보고했는지 기억이 잘 안난다. 지금 구글링해보니 아마 ezsnote(2014), typinator에서 한글 이용하기에서 참고하지 않았나 싶다.
그렇지만, 이러한 명령어를 사용해도 한글 자모가 합쳐진, 그러니까 한글 단어인 경우는 abbreviation으로 사용하지 못하고, 한글 자모가 분리된 경우만 가능하다 (물론 expansion에 한글을 넣는 것은 아무 문제 없다.). 정확하지는 않지만 이는 Typinator 자체가 일반 아스키 인코딩을 인식하는 방식, 또는 키 자체를 인식하는 방식이기 때문에 그럴 것으로 추측된다. 너무나도 아쉬운 부분이다.
참고로, 맥의 키보드 > 텍스트 기능에서는 한글 단어 자체를 인식한다. Table 10이 그 예다. 그러나 맥의 이 기능은 속도가 매우 느리고, 잘 안될 때도 많다. 그래서 거의 안쓴다. 아쉽다.
Table 10. 맥의 단어 대치 기능
Replace (입력항목)
With (대치항목)
교량₩
bridge
이탤릭체로 작성해야하는 경우
이탤릭체 적용 방식에 대해서는 이전 블로그 글 참조. 즉, 단어의 양쪽에 “-“를 넣어주는 기능이다.
나 같은 경우는, Ifc로 시작하는 단어만 이탤릭으로 처리해 준다 (Ifc가 식별자가 아니고 전문용어이다.). Ifc로 시작하지 않는 단어, 즉, 일반적인 단어들을 이탤릭으로 처리해주어야 하는 경우는 Typinator 쓰지 않고 그냥 단어 앞뒤에 “_” 넣는다.
이건 regular expression을 사용해야하기 때문에, abbreviation set을 “REGULAR EXPRESSIONS” 부분에 생성해 주어야 한다. 이전까지는 모두 “ABBREVIATIONS” 부분에 생성해준 것들이다.
Table 11. 정규식을 이용해서 단어의 양쪽에 _ 기호 넣기
Regular Expression
Expansion
Option
(Ifc[A-Z0-9a-z]+)([`])
_$1_
Whole word, Case must match, Combine with previous expansion
Table 11에서 $1은 입력 단어의 첫번째 괄호 안의 내용을 출력하라는 Typinator 기능이다. 즉, 위의 경우에서 $1에는 “Ifc[A-Z0-9a-z]+”가 할당되어 있다.
“Combine with previous expansion” 옵션은 지금의 expansion을 적용하기 전에 다른 조건에 의해 먼저 expansion이 적용될 필요가 있는 경우에 활용할 수 있다. 예를 들어 내가 ifcbuildingelement` 를 작성했을 때 최종 작성되는 expansion은 다음과 같다.
Case does not matter, Combine with previous expansion
Table 13. 전체 단어를 대문자로 변경하는 경우
Regular Expression
Expansion
Option
([a-z]\w+)([`]1)
{/Uppercase $1}
Case does not matter, Combine with previous expansion
느낌적인 느낌으로 알겠지만, {/Capital}은 capitalization 하라는 Typinator 기능이고, {/Uppercase}는 전체를 대문자로 바꾸는 기능이다.
마치는 말
위에 작성해 놓은 글 이외에도 Typinator의 expansion에는 이미지를 넣을 수 있는 등 여러 기능이 있으며, Predefined Set으로 double caps 수정이라든지, Superscripts로 변경 등도 제공한다. 이리저리 잔머리를 굴려 Typinator를 잘 쓰면 쪼금 더 편한 타이핑 환경을 만들 수 있을 것으로 보인다.
이 글에 대해 Typinator 개발 회사인 ergonis에서는 1원도 주지 않았다. 이런 글이 있는 것 조차도 모를 것이다.