Vim 사용 시 흔히 겪는 문제가 한글로 주석 작성 후, Normal 모드로 전환하여 명령어를 입력하면 명령어가 적용되지 않는 문제가 있습니다.
예를 들어, 파일 저장을 위해 <ESC>
+ ':w' 를 입력하였으나, 실제로는 <ESC>
, :ㅈ
가 입력되어 저장이 되지 않는 경우입니다.
Vim에서 한글을 입력하는 경우는 코드에 주석을 넣는 경우 이외에는 없으므로, Normal 모드로 전환 시(즉, ESC를 누르면) 영문으로 자동전환이 되도록 설정하면 이러한 문제가 해결될 것입니다.
※ 간단히 IME에서 해당 기능을 제공해준다면 별도의 프로그램을 설치하지 않아도 되겠지만 아쉽게도 Microsoft IME는 설정 기능이 존재하지 않아 외부 프로그램(키 매크로)을 설치하여 도움을 받아야 합니다.
Windows에서 Vim을 사용하는 경우 (VSCode의 Vim Extension, WSL에서의 Vim)
윈도에 Auto HotKey를 설치합니다.
메모장에
Script.ahk
를 만들어 아래의 Script를 작성합니다.작성한 스크립트를 더블 클릭하여 실행합니다. 이후,
<ESC>
를 누르면 자동으로 영문 키보드로 전환됩니다.
$Esc::
if(IME_CHECK("A"))
Send, {VK15} ;영문이라면 한영전환 키를 입력해준다.
Send, {Escape}
return
/*
IME check
*/
IME_CHECK(WinTitle) {
WinGet,hWnd,ID,%WinTitle%
Return Send_ImeControl(ImmGetDefaultIMEWnd(hWnd),0x005,"")
}
Send_ImeControl(DefaultIMEWnd, wParam, lParam) {
DetectSave := A_DetectHiddenWindows
DetectHiddenWindows,ON
SendMessage 0x283, wParam,lParam,,ahk_id %DefaultIMEWnd%
if (DetectSave <> A_DetectHiddenWindows)
DetectHiddenWindows,%DetectSave%
return ErrorLevel
}
ImmGetDefaultIMEWnd(hWnd) {
return DllCall("imm32\ImmGetDefaultIMEWnd", Uint,hWnd, Uint)
}
Windows 실행시 자동으로 Script 시작하기
Script를 실행파일(.exe)로 변환합니다.
C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\AutoHotkey
폴더로 이동합니다.- [Convert .ahk to .exe]를 더블클릭하여 실행합니다.
- [Source]항목에서 앞서 작성한
script.ahk
를 추가합니다. - [Convert] 를 클릭합니다.
- 'Conversion complete' 팝업이 표시되면,
.exe
파일이 스크립트와 같은 폴더에 생성됩니다.
실행파일을 윈도우즈 시작프로그램으로 추가합니다.
- Windows 로고 키 + R을 누르고
shell:startup
을 입력한 다음 확인을 선택합니다. 그러면 시작 폴더가 열립니다. - 앞서 변환한 실행파일(
.exe
)을 복사하여 시작 폴더에 붙여넣습니다.
출처
'개발도구 > 기타' 카테고리의 다른 글
[Godot] C# Project 빌드 오류 (0) | 2020.10.29 |
---|---|
[Unity] Android 빌드 및 실행 오류 (1) | 2020.10.26 |
StackEdit 작성글 일괄 내보내기(export) 스크립트 (0) | 2020.09.25 |
Oracle Cloud Free Tier 가입 오류 및 해결 과정 (0) | 2020.05.11 |
Heroku Stack 지원만료 안내 및 조치 (0) | 2019.11.19 |