⚠ 이 강좌는 오토핫키 v1을 다룹니다
지금 보시는 강좌는 구버전 오토핫키(v1.1)를 다루고 있습니다. 따라서 본 강좌의 내용은 현재 최신 오토핫키 버전 (v2.0)과 호환되지 않습니다. 구버전의 정보가 필요한 것이 아니라면, 가능한 한 새로운 사이트에 작성한 v2 강좌(https://ahkv2.pnal.dev)를 봐주시길 바랍니다.
SciTE4AutoHotkey 신버전 설정하기 (설정 공유) + 깨져 나오는 스크립트 살리기
안녕하세요.
2014년 이후로 업데이트가 없던 SciTE4AutoHotkey가 2022년 5월 갑자기 업데이트 되었습니다. 2014년 이후 새로 생긴 오토핫키 명령어가 추가되었고, Command와 Function이 잘 구분되지 않던 기존 테마에서 새롭고 산뜻한 라임색 기반의 자체 테마가 추가되었습니다. 유니코드 인코딩 또한 지원하게 되었고, 일부지만 한글화도 되었지요.
문제는 기존 버전과 차이가 크다 보니 적응이 힘든 부분이 있어서, 에디터의 여백(Margin), 폰트 크기, 인코딩 등 최대한 구버전과의 호환성을 살리는 방향으로 설정하는 방법을 공유드리고자 합니다. 그러나 인코딩 문제가 늘 그렇듯이, 뾰족하게 해결되지 않는 경우가 많다보니 기존 스크립트와의 호환성을 고민해보고 신중하게 업데이트 하셔야합니다.
진행하기에 앞서, AutoHotkey와 SciTE4AutoHotkey는 완전 제거 후 재설치 해주세요. (재설치 방법은 본편 강좌인 https://pnal.kr/1를 참고해주세요.)
재설치 이후, SciTE4AutoHotkey 설정하기
1. SciTE4AutoHotkey 설정 창에서 설정할 것
SciTE4AutoHotkey 화면상에서 위 사진과 같이 들어갈 수 있는 별도 설정창에서의 설정 방법입니다. 상단 메뉴에서 Tools > SciTE4AutoHotkey settings... 에 들어가줍니다.
위 사진과 같이 언어는 한국어로 설정해줍니다.
기존 강좌에선 인코딩을 Korean Wansung으로 하라고 설명했었는데요, 이젠 인코딩 부분이 "UTF-8"로 기본 설정되어있습니다. 기존 가지고 계신 스크립트가 UTF-8 환경에서 깨져보일 경우 Korean Wansung으로 롤백하시면 됩니다. (처음 오토핫키를 접해서 기존 유지보수하시던 스크립트가 없는 분은 UTF-8로 시작하시면 됩니다.)
Text zoom은 -2가 보기 편하고 적당합니다. (그래야 텍스트 크기가 기존 버전 옵션과 동일해집니다.)
그 밑의 체크박스 4개는 취향껏 설정하면 되나, 자동 백업은 쓸데없는 .bak 파일을 생성시키는 것이 지저분하여 저는 끕니다. 또한 제가 모르는 상태에서 인터넷에 연결하는 것이 꺼림칙하기 때문에, 자동 업데이트 확인 기능 또한 꺼주었습니다.
모든 설정이 끝났으면 update 버튼을 눌러서 적용해줍니다. (SciTE4AutoHotkey가 재시작될 수 있음)
2. 사용자 옵션 스크립트에서 설정할 것
기존 버전을 사용하시던 분들은 구버전 에디터와 다른 미묘한 어색함을 느끼실텐데요, 각종 여백이 기존과 달라서 붕 떠보이는 느낌이 있기 때문입니다.
구버전 스크립트와 비교해보니까 위 사진의 표시해둔 두 부분의 넓이가 구버전과 차이가 있더라고요. 폴딩 부분의 너비는 줄어들었고, 텍스트의 왼쪽 여백이 지나치게 넓어졌습니다.
이를 구버전과 같은 가독성 좋은 너비로 바꾸기 위해 아래와 같이 설정하세요.
상단의 옵션 > 유저 옵션 파일 열기를 누르시면,
위와 같은 창이 뜹니다. 여기서 13번 라인(없으면 엔터쳐서 추가)에 아래와 같이 써넣습니다.
(▼ 복사해서 붙여넣으셔도 됩니다)
blank.margin.left=$(scale 5)
fold.margin.width=$(scale 15)
Control + S를 눌러서 파일이 저장되는 순간, 폴딩 영역은 늘어나고 글자 옆 여백은 줄어드는 모습을 볼 수 있습니다.
상단은 여백 수정을 하지 않은 상태이고, 하단은 구버전 에디터처럼 여백을 조정한 모습입니다. 글자가 왼쪽에 붙어있는 느낌이 들기 때문에 비교적 안정적으로 보입니다.
3. SciTE4AutoHotkey의 도구 모음에서 설정할 것
실행시 인코딩만 설정하시면 됩니다.
위와 같이, 실행 버튼의 왼쪽에 있는 H↔H 버튼을 눌러서 Unicode로 설정해주시면 됩니다.
한글이 깨져나올 경우
여기부터는 새로 오토핫키를 접해서 기존 보유 스크립트가 없을 경우 무시하셔도 되는 내용입니다.
재설치 후 스크립트를 그냥 실행하면 괜찮은데, SciTE4AutoHotkey를 이용해서 실행할 때만 한글이 깨져나오는 경우가 있었습니다. 다른 스크립트는 다 괜찮은데, 저는 딱 하나만 그러더라고요.
새로 스크립트를 만들었을 경우, 그 스크립트부턴 괜찮을 것입니다. (만약 새 스크립트도 깨져보인다면 이는 오토핫키 설치시에 ANSI로 설치한 경우입니다.) 그렇기 때문에, 실행시 깨지는 스크립트를 전체 복사(Ctrl+A를 눌러 전체 선택 후 Ctrl+C로 복사)한 후, 새 스크립트를 만들어 붙여넣으면 한글이 깨지지 않습니다.
결국 스크립트 새로 만들어서 붙여넣으란 뜻입니다.
SciTE4상에서 존재하는 여러 인코딩을 건들여보고, ahk 파일 자체의 인코딩도 건들여봐도 도저히 해결될 기미가 안보이더라고요. 그래서 새로 스크립트를 만들고 거기에 기존 내용을 붙여넣어서 작성하는 방법을 사용했습니다.
추가)
몇 분이 메일로 여러 해결책 남겨주셨습니다. 결론적으로, 파일의 인코딩을 다르게 다시 저장하는 방법이었으며 이는 제가 본문에 작성한 방법과 크게 다르지 않습니다. 다만 기계적으로 해결할 수 있는 프로그램이 있는 듯 합니다.
그런데, 우린 오토핫키를 쓸 줄 알기 때문에, FileRead및 FileAppend 명령어를 사용해서 읽어들이는 인코딩 / 새로 쓸 파일의 인코딩을 지정하여 자동화할 수 있습니다. 기왕 연습할 겸 오토핫키를 이용해서 만들어봅시다. 잠깐 테스트삼아 해봤는데 크게 어렵지 않네요.