๋ถ๋ฅ:๋ฌธ์ ํธ์ง๊ธฐ
์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
Sublime Text | |
๊ฐ๋ฐ | Sublime HQ |
๋ผ์ด์ผ์ค | ์์
์ํํธ์จ์ด |
์ฉ๋ | |
์ด์์ฒด์ | |
ํ์ฌ๋ฒ์ | 3.2.2 (2019๋
10์ 1์ผ) |
1. ๊ฐ์[ํธ์ง]
ํฌ๋ก์ค ํ๋ซํผ ํ
์คํธ ์๋ํฐ. ์ฃผ๋ก ํ๋ก ํธ์๋ ํ๋ก๊ทธ๋๋ฐ์ ์ฌ์ฉ๋๋ค. ์์ฆ์ Node.js ๊ฐ์ด ๋ฐฑ์๋ ์ธ์ด๋ฅผ ์์ฑํ ๋ ์ฐ๋ ๊ฒฝ์ฐ๋ ๋ง๋ค. ๋น๊ต์ ์ต๊ทผ์ ์๊ธด ์๋ํฐ๋ผ์ ๊ทธ๋ฐ์ง ํฌํธ๋ ๋ฑ์ ๊ตฌ์ธ๋ ์ธ์ด๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ์๋ ๊ท์ฐฎ์์ง ์ ์๋ค.
GUI๋ ํ๋ค์ด ๋ฉ๋ด ๋ง๊ณ ๋ ์๋ค์ํผํ๊ณ ์ปค๋งจ๋ ํ๋ ํธ ๋ฑ์ ์ด์ฉํ๋ฉด ์์ ๋ง์ฐ์ค ์์ด๋ ์ธ ์ ์๋ค. ์ฌ์ง์ด ์ต์ ์ค์ ๋ ๊ทธ๋ฅ JSON ํ์ผ์ด๋ค. ๋ง์ฐ์ค ์ฌ์ฉ์ ์ง์ํ์ฌ ์ด์คํผ๋์ ์์ฐ์ฑ์ ์ถ๊ตฌํ๋ ํ ์คํธ ์๋ํฐ.
ํ๋ซํผ ๋ณ๋ก ๋ค์ดํฐ๋ธ๋ก ๋์ํ๋๋ก ๋์ด ์์ด ์๋๊ฐ ์๋นํ ๋น ๋ฅธ ํธ์ด๋ฉฐ, ๊ฒฝ์ ์ ํ์ธ VS Code์ ๋น๊ตํด ๋ด๋ ์ฌ์ ํ ์๋ ๋ถ๋ถ์ ์ฐ์ธํ๋ค. ๋ํ Python ์ฝ์ด๋ถ๋ถ์ ๋ด์ฅํ๊ณ ์์ด Python์ ์ด๋ ์ ๋ ์๊ณ ์๋ค๋ฉด ์์ฝ๊ฒ ๋งคํฌ๋ก, ํ๋ฌ๊ทธ์ธ ๋ฑ์ ํ์ฅํ์ฌ ์์ ๋ง์ ์๋ํฐ ํ๊ฒฝ์ ๊ตฌ์ถํ ์ ์๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ํค ๋ฐ์ธ๋ฉ ๊ธฐ๋ฅ๋ ์ ๊ณตํ๋ฉฐ, ๋นํ์ฑํ๋ vintage๋ผ๋ ํจํค์ง๋ฅผ ํ์ฑํ ์ํค๋ฉด ๋ถ๋ถ์ ์ผ๋ก vi์ ๋น์ทํ๊ฒ ๋์ํ๋ค. vi์ ๋์ฑ ๋น์ทํ๊ฒ ๋์ํ๋ ํ๋ฌ๊ทธ์ธ Vintageous์ด ์์ง๋ง ๊ฑฐ์ ๊ฐ๋ฐ์ด ์ค๋จ๋ ์ํ์ด๋ฉฐ, ๊ทธ๋ฅ vi๋ฅผ ์ฐ๋ ํธ์ด ๋ ๋ซ๋ค.
์ด๊ธฐ์๋ ํ๋ ๋งฅ์์ ์ ๋ช ํ ์๋ํฐ์ธ Textmate์ ๊ฐ์ข XML ๋ฐฉ์์ ์ค์ ํ์ผ์ ๊ทธ๋๋ก ์ฌ์ฉํ ์ ์์์ผ๋ฉฐ(ํ์ฌ๋ ์ฌ์ฉ๊ฐ๋ฅํจ), ์ ์ฌํ ๋ชจ์ต์ ๋ณด์์ง๋ฉด, ์ ์ฐจ ๋ ์์ ์ธ ๊ธฐ๋ฅ๊ณผ 3๋ฒ์ ๋ถํฐ๋ YAML 1.2 ๋ฐฉ์์ ๋ ์์ ์ธ ์ค์ ํ์ผ๋ก ๋ ํธํ๊ฒ ์์ฑ์ด ๊ฐ๋ฅํ๋ฉฐ, ์คํ์๋๊น์ง ์ข์์ก๋ค.
๊ทธ ์ธ์ ๋ฉํฐ ์ปค์ ์๋ํ ์ด๋ ์ฝ๋ ๋ค๋น๊ฒ์ด์ , ํ๋ ํธ ๊ธฐ๋ฅ๋ค์ ๋ค๋ฅธ ์๋ํฐ์์๋ ํ๋ฌ๊ทธ์ธ ํน์ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ผ๋ก ์ ๊ณตํ ์ ๋๋ก ์ธ๊ธฐ ์๋ ๊ธฐ๋ฅ. ์ด๋ฌํ ๊ธฐ๋ฅ๋ค์ Atom์ด๋ VS Code ๋ฑ ์ต๊ทผ์ ๋์จ ์๋ํฐ๋ค์ ๋๋ถ๋ถ ์ฑํํ๊ณ ์๋ค. ์ด ์๋ํฐ ์ดํ vi, Emacs ๋ฑ์์๋ ํ๋ฌ๊ทธ์ธ์ผ๋ก ๋น์ทํ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ค.
๊ฐ๊ฒฉ์ 2017๋ 10์ 31์ผ ๊ธฐ์ค 80$์ด๋ค. ๊ตฌ๋งคํ์ง ์๋๋ผ์๋ ๋ชจ๋ ๊ธฐ๋ฅ์ ๋ฌด์ ํ์ผ๋ก ์ฌ์ฉ๊ฐ๋ฅํ์ง๋ง, ์ ์ฅ์ ํ ๋ ๊ฐ๋์ฉ ๊ตฌ๋งค๋ฅผ ํ๋ผ๋ ํ์ ์ด ๋ฌ๋ค.์ฐ๋ค๋ณด๋ฉด ์ ์ฅ+ESC๊ฐ ์ต๊ด์ด ๋๋ค ๊ฐ์ธ ๋ผ์ด์ ์ค๋ 3๋
๊ฐ ์ ํจํ๋ฉฐ ๊ทธ ์ดํ๋ ์
๊ทธ๋ ์ด๋ ๊ตฌ๋งค๊ฐ ํ์ํ๋ค.
GUI๋ ํ๋ค์ด ๋ฉ๋ด ๋ง๊ณ ๋ ์๋ค์ํผํ๊ณ ์ปค๋งจ๋ ํ๋ ํธ ๋ฑ์ ์ด์ฉํ๋ฉด ์์ ๋ง์ฐ์ค ์์ด๋ ์ธ ์ ์๋ค. ์ฌ์ง์ด ์ต์ ์ค์ ๋ ๊ทธ๋ฅ JSON ํ์ผ์ด๋ค. ๋ง์ฐ์ค ์ฌ์ฉ์ ์ง์ํ์ฌ ์ด์คํผ๋์ ์์ฐ์ฑ์ ์ถ๊ตฌํ๋ ํ ์คํธ ์๋ํฐ.
ํ๋ซํผ ๋ณ๋ก ๋ค์ดํฐ๋ธ๋ก ๋์ํ๋๋ก ๋์ด ์์ด ์๋๊ฐ ์๋นํ ๋น ๋ฅธ ํธ์ด๋ฉฐ, ๊ฒฝ์ ์ ํ์ธ VS Code์ ๋น๊ตํด ๋ด๋ ์ฌ์ ํ ์๋ ๋ถ๋ถ์ ์ฐ์ธํ๋ค. ๋ํ Python ์ฝ์ด๋ถ๋ถ์ ๋ด์ฅํ๊ณ ์์ด Python์ ์ด๋ ์ ๋ ์๊ณ ์๋ค๋ฉด ์์ฝ๊ฒ ๋งคํฌ๋ก, ํ๋ฌ๊ทธ์ธ ๋ฑ์ ํ์ฅํ์ฌ ์์ ๋ง์ ์๋ํฐ ํ๊ฒฝ์ ๊ตฌ์ถํ ์ ์๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ํค ๋ฐ์ธ๋ฉ ๊ธฐ๋ฅ๋ ์ ๊ณตํ๋ฉฐ, ๋นํ์ฑํ๋ vintage๋ผ๋ ํจํค์ง๋ฅผ ํ์ฑํ ์ํค๋ฉด ๋ถ๋ถ์ ์ผ๋ก vi์ ๋น์ทํ๊ฒ ๋์ํ๋ค. vi์ ๋์ฑ ๋น์ทํ๊ฒ ๋์ํ๋ ํ๋ฌ๊ทธ์ธ Vintageous์ด ์์ง๋ง ๊ฑฐ์ ๊ฐ๋ฐ์ด ์ค๋จ๋ ์ํ์ด๋ฉฐ, ๊ทธ๋ฅ vi๋ฅผ ์ฐ๋ ํธ์ด ๋ ๋ซ๋ค.
์ด๊ธฐ์๋ ํ๋ ๋งฅ์์ ์ ๋ช ํ ์๋ํฐ์ธ Textmate์ ๊ฐ์ข XML ๋ฐฉ์์ ์ค์ ํ์ผ์ ๊ทธ๋๋ก ์ฌ์ฉํ ์ ์์์ผ๋ฉฐ(ํ์ฌ๋ ์ฌ์ฉ๊ฐ๋ฅํจ), ์ ์ฌํ ๋ชจ์ต์ ๋ณด์์ง๋ฉด, ์ ์ฐจ ๋ ์์ ์ธ ๊ธฐ๋ฅ๊ณผ 3๋ฒ์ ๋ถํฐ๋ YAML 1.2 ๋ฐฉ์์ ๋ ์์ ์ธ ์ค์ ํ์ผ๋ก ๋ ํธํ๊ฒ ์์ฑ์ด ๊ฐ๋ฅํ๋ฉฐ, ์คํ์๋๊น์ง ์ข์์ก๋ค.
๊ทธ ์ธ์ ๋ฉํฐ ์ปค์ ์๋ํ ์ด๋ ์ฝ๋ ๋ค๋น๊ฒ์ด์ , ํ๋ ํธ ๊ธฐ๋ฅ๋ค์ ๋ค๋ฅธ ์๋ํฐ์์๋ ํ๋ฌ๊ทธ์ธ ํน์ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ผ๋ก ์ ๊ณตํ ์ ๋๋ก ์ธ๊ธฐ ์๋ ๊ธฐ๋ฅ. ์ด๋ฌํ ๊ธฐ๋ฅ๋ค์ Atom์ด๋ VS Code ๋ฑ ์ต๊ทผ์ ๋์จ ์๋ํฐ๋ค์ ๋๋ถ๋ถ ์ฑํํ๊ณ ์๋ค. ์ด ์๋ํฐ ์ดํ vi, Emacs ๋ฑ์์๋ ํ๋ฌ๊ทธ์ธ์ผ๋ก ๋น์ทํ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ค.
๊ฐ๊ฒฉ์ 2017๋ 10์ 31์ผ ๊ธฐ์ค 80$์ด๋ค. ๊ตฌ๋งคํ์ง ์๋๋ผ์๋ ๋ชจ๋ ๊ธฐ๋ฅ์ ๋ฌด์ ํ์ผ๋ก ์ฌ์ฉ๊ฐ๋ฅํ์ง๋ง, ์ ์ฅ์ ํ ๋ ๊ฐ๋์ฉ ๊ตฌ๋งค๋ฅผ ํ๋ผ๋ ํ์ ์ด ๋ฌ๋ค.
2. ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํ๋ ์ธ์ด[ํธ์ง]
ActionScript, AppleScript, ASP, Batch, C, C#, C++, Clojure, CSS, D, Erlang, Go, Groovy, Haskell, HTML, Java, JavaScript, JSP, JSON, LaTeX, LISP, Lua, Makefile, Markdown, MATLAB, Obj-C, OCaml, Pascal, Perl, PHP, Python, R, Rails, RegEx, Ruby, Scala, ShellScript, SQL, TCL, Textile, XML, YAML ๋ฑ ํ๋์ ์ฃผ๋ก ์ฌ์ฉ๋๋ ์ธ์ด๋ค์ ๋๋ถ๋ถ ๊ธฐ๋ณธ ์ง์ํ๋ค. ๋ฐ๋๋ก ์ด์
๋ธ๋ฆฌ์ด, Ada, FORTRAN ๋ฑ์ ์ง์ํ์ง ์๋๋ค. ์ฌ์ค ์ง์ํด๋ ์ ์ ์ฐ์ธ๋ค.
์ฌ์ง์ด JPG๋ PNG ๊ฐ์ ๊ทธ๋ํฝ ํฌ๋งท๋ ๋์ฝ๋ฉ๋์ด ์ด๋ฆฌ๊ณ , ๋ค๋ฅธ ํ ์คํธ ์๋ํฐ์์๋ ๋ป์ด๋ฒ๋ฆฌ๋ ์๋ฐฑ๋ง ์ค์ง๋ฆฌ CSV ๋ฑ์ ํ์ผ๋ ๊ฑฐ๋ฌํ ์ฝ์ด๋ธ๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํ์ง ์๋๋ผ๋ ํ๋ฌ๊ทธ์ธ์ผ๋ก ํ์ฅํ ์ ์๋ค. ๋ํ ์ง์ํ๋ค๋ ๊ฒ์ ์ด๋๊น์ง๋ ์์ค ํ์ด๋ผ์ดํ ๊ณผ ์๋์์ฑ, ์๋ ์ธ๋ดํธ ์ ๋๋ก IDE ์์ค์ ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์๋์ง ์๋๋ค.
์๋ฅผ ๋ค์ด ํจํค์ง ์ธ์คํจ๋ฌ๋ฅผ ์ด์ฉํ์ฌ ๊ธฐ๋ฅ๋ค์ ์ค์นํ๋ฉด ARMA 3 ๊ฒ์์ ๋ชจ๋๋ฅผ ๋ง๋๋๋ฐ ์ฌ์ฉ๋๋ ํน์๋ชฉ์ ์ธ์ด์ธ SQF๋ฑ์ ์ธ์ด๋ค๋ ํ์ด๋ผ์ดํ ๊ธฐ๋ฅ์ ์ด์ฉํ ์ ์์ผ๋ฉฐ, ํ์ด์ฌ๋ฑ์ ์ผ๋ถ ์ธ์ด๋ค์ ์ปดํ์ผ๋ฌ ๋ํ ์ค์นํ ์ ์๋ค.
์ฌ์ง์ด JPG๋ PNG ๊ฐ์ ๊ทธ๋ํฝ ํฌ๋งท๋ ๋์ฝ๋ฉ๋์ด ์ด๋ฆฌ๊ณ , ๋ค๋ฅธ ํ ์คํธ ์๋ํฐ์์๋ ๋ป์ด๋ฒ๋ฆฌ๋ ์๋ฐฑ๋ง ์ค์ง๋ฆฌ CSV ๋ฑ์ ํ์ผ๋ ๊ฑฐ๋ฌํ ์ฝ์ด๋ธ๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํ์ง ์๋๋ผ๋ ํ๋ฌ๊ทธ์ธ์ผ๋ก ํ์ฅํ ์ ์๋ค. ๋ํ ์ง์ํ๋ค๋ ๊ฒ์ ์ด๋๊น์ง๋ ์์ค ํ์ด๋ผ์ดํ ๊ณผ ์๋์์ฑ, ์๋ ์ธ๋ดํธ ์ ๋๋ก IDE ์์ค์ ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์๋์ง ์๋๋ค.
์๋ฅผ ๋ค์ด ํจํค์ง ์ธ์คํจ๋ฌ๋ฅผ ์ด์ฉํ์ฌ ๊ธฐ๋ฅ๋ค์ ์ค์นํ๋ฉด ARMA 3 ๊ฒ์์ ๋ชจ๋๋ฅผ ๋ง๋๋๋ฐ ์ฌ์ฉ๋๋ ํน์๋ชฉ์ ์ธ์ด์ธ SQF๋ฑ์ ์ธ์ด๋ค๋ ํ์ด๋ผ์ดํ ๊ธฐ๋ฅ์ ์ด์ฉํ ์ ์์ผ๋ฉฐ, ํ์ด์ฌ๋ฑ์ ์ผ๋ถ ์ธ์ด๋ค์ ์ปดํ์ผ๋ฌ ๋ํ ์ค์นํ ์ ์๋ค.
3. ์ฅ์ [ํธ์ง]
- ๊ฐ๋ฒผ์ : ๊ธฐ์กด์ ํ ์คํธ ์๋ํฐ, IDE์ ๋นํด ๊ฐ๋ฒผ์ด ํธ์ด๋ค. OS๋ณ๋ก GUI ํดํท์ด ๋ฐ๋ก ์์ด ํฌ๋ก์ค ํ๋ซํผ ๋๋ฌธ์ ์๊ธฐ๋ ์ฑ๋ฅ์ ํ๊ฐ ์ ์ ํธ์ด๋ค. ํนํ Electron์ ์ฌ์ฉํ Atom, VS Code ๋ฑ์ ํ ์คํธ ์๋ํฐ๋ค๊ณผ ๋น๊ตํด๋ณด๋ฉด ๊ต์ฅํ ์พ์ ํ๋ค๋ ๊ฒ์ ๋๋ ์ ์๋ค.
- ๊ฐ๋ ฅํ ํ์/์๋์์ฑ : ์ด์ ์ ์๋ํฐ๋ค๊ณผ ๋ค๋ฅด๊ฒ ์์ฒด์ ์ผ๋ก Fuzzy Search Engine์ ๊ตฌ๋นํด๋๊ณ ์๋๋ฐ, ์์ฐ์ฑ์ ๊ต์ฅํ ๋์ด๋ ๋ฐ์ ์ผ์กฐํ๊ณ ์๋ค. ํ ์๋ํฐ๋ค์ ์๋์์ฑ์ด๋ ํ์์ ๋นํด ํจ์ฌ ์ ์ ํ์ดํ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์๋ฅผ ๋ค์ด์ NamuWikiDatabase๋ฅผ ์๋์์ฑ ํ๋ ๊ฒฝ์ฐ ํ ์๋ํฐ๋ ์๊ธ์๋ถํฐ ์ ๋ ฅํ๋ค ์์ฑ์ด ๋๊ธฐ์ NamuWiki ์ ๋๋ก ์์ํ๋ ๋จ์ด๊ฐ ๋ง์ผ๋ฉด ์๊ฐ์ด ๋์ฑ ๊ฑธ๋ฆฐ๋ค. ๋ฐ๋ฉด Sublime Text์ ๊ฒฝ์ฐ NWkD ์ ๋๋ง ์ ๋ ฅํด๋ ๊ฑฐ์ ์ ์ผํ๊ฒ ๊ฒฐ์ ๋๊ธฐ ๋๋ฌธ์ ํจ์ฌ ๊ฐํธํ๋ค.
- Python ๊ธฐ๋ฐ์ ํด์ปค๋ธ ์๋ํฐ : ์ฃผ๋ก Python์ ์ด์ฉํ์ฌ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ ์ ์๋ค. ํ๋ฌ๊ทธ์ธ๋ ์ด๋ก ์์ฑํ๊ณ ์์ฃผ ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ Python์ ๋ฐฐ์๋๋ฉด ๋์์ด ๋ง์ด ๋๋ค.
- ์ข์ ๊ฐ๋ ์ฑ: ๋ฐํ์์ด ๊ฒ์์์ด๋ผ์ ๋์ด ์ํ์ง ์๊ณ , ํจ์ ๋ธ๋ก์ด ์๋ก๋ฌ๋กํด์ ๋ณด๊ธฐ ์ข๋ค.
4. ๋จ์ [ํธ์ง]
- IME ์ง์ ๋ฌธ์ : ์๋์ฐ ํ๊ธ IME๋ฅผ ์ ์ง์ํ์ง ์์์, ํ๊ธ ์ ๋ ฅ์ ํ ๊ธ์ ๋ฆ๊ฒ ์ ๋ ฅ๋๋ ํ์์ด ์๋ค. ์ผ๋ณธ์์๋ ๊ฐ์ ์ฆ์์ด ์ผ์ด๋๊ธฐ ๋๋ฌธ์ IMESupport๋ผ๋ ํ๋ฌ๊ทธ์ธ์ด ๋ง๋ค์ด์ ธ์๋ค. ์ค์น๋ฒ์ ๋ฌธ์ ํ๋จ์ ์ธํ ๋ฌธ๋จ ์ฐธ์กฐ.
๋ฆฌ๋ ์ค์ ๊ฒฝ์ฐ ์ ๋ ฅ๊ธฐ๋ณ๋ก ๋๋ ๊ฒ๋ ์๊ณ ์ ๋๋ ๊ฒ๋ ์๋ค. fcitx์ ๊ฒฝ์ฐ์๋ ์ค๊ตญ์์ ํด๊ฒฐ๋ฒ์ ์ฐพ์๋ค. ๋งฅ์ ๊ฒฝ์ฐ๋ ์ ์์ ์ผ๋ก ์๋ํ๋ค. - ํด๋ก์ฆ๋ ์์ค: ์ค์ ์ฌ์ฉ์์๋ ํฌ๊ฒ ๋ฌธ์ ๊ฐ ์์ง๋ง ์คํ ์์ค๊ฐ ์๋๋ผ์ ๋ถ๋ง์ด ์๋ ๊ฒฝ์ฐ๊ฐ ์ ์๊ฒ ์๋ ๋ฏํ๋ค. ๊ทธ๋ฌ๋ค ๋ณด๋ Lime Text ๊ฐ์ ์ ์ฌํ ํํ์ ๊ธฐ๋ฅ์ ๊ฐ์ง ์คํ ์์ค ์๋ํฐ๋ ๋ง๋ค์ด์ง๊ณ ์๋ค.[1]
5. ๊ธฐ๋ฅ[ํธ์ง]
5.1. Goto[ํธ์ง]
ํน์ ์์น๋ก ์ด๋ํ๋ ๊ธฐ๋ฅ.
๊ธฐ๋ณธ์ ์ผ๋ก ํ์ผ ์ด๋ฆ์ ์ผ๋ถ๋ฅผ ์ณ์[2] ์ด ์ ์๊ณ , @๋ก ํน์ ๊ตฌ๋ฌธ์ ์ฐพ๊ฑฐ๋ #์ผ๋ก ๊ฒ์, :์ผ๋ก ๋ผ์ธ ๋๋ฒ๊น์ง ์ง์ ํ ์ ์๋ค.
tp@rf๋ผ ์น๋ฉด text_parser.py์ read_file ํจ์๋ฅผ ์ฐพ์์ค๋ค๊ฑฐ๋, tp#fn์ ์น๋ฉด function์ ์ฐพ์์ค๋ค๊ฑฐ๋, tp:100์ ์น๋ฉด ํ์ผ์ 100๋ฒ์งธ ์ค์ด ์ด๋ฆฌ๋ ์.
Ctrl+P ํค๋ฅผ ๋๋ฅด๋ฉด Goto Anything์ด ์ด๋ฆฌ๋ฉฐ Goto Symbol์ด๋ Goto Line ๋ฑ์ ๋จ์ถํค๋ ๋ฐ๋ก ๋ฐฐ์ ๋์ด ์์ผ๋ Goto Anything์์ ์ ๋ถ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ์ ์ฌ์ฉ๋์ง๋ ์๋ ๋ฏ ํ๋ค.
์ด์ธ์
ctrl + r ํน์ ํจ์ ์ด๋
ctrl + g ํน์ ๋ผ์ธ ์ด๋
ctrl + l ํน์ ๊ตฌ๋ฌธ ์ ํ ํ์(๋จผ์ ๋์ค๋ ๋์์ ์ฐพ์์ ๋ณด์ฌ์ค๋ค.)
๋ฑ์ด ์๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ํ์ผ ์ด๋ฆ์ ์ผ๋ถ๋ฅผ ์ณ์[2] ์ด ์ ์๊ณ , @๋ก ํน์ ๊ตฌ๋ฌธ์ ์ฐพ๊ฑฐ๋ #์ผ๋ก ๊ฒ์, :์ผ๋ก ๋ผ์ธ ๋๋ฒ๊น์ง ์ง์ ํ ์ ์๋ค.
tp@rf๋ผ ์น๋ฉด text_parser.py์ read_file ํจ์๋ฅผ ์ฐพ์์ค๋ค๊ฑฐ๋, tp#fn์ ์น๋ฉด function์ ์ฐพ์์ค๋ค๊ฑฐ๋, tp:100์ ์น๋ฉด ํ์ผ์ 100๋ฒ์งธ ์ค์ด ์ด๋ฆฌ๋ ์.
Ctrl+P ํค๋ฅผ ๋๋ฅด๋ฉด Goto Anything์ด ์ด๋ฆฌ๋ฉฐ Goto Symbol์ด๋ Goto Line ๋ฑ์ ๋จ์ถํค๋ ๋ฐ๋ก ๋ฐฐ์ ๋์ด ์์ผ๋ Goto Anything์์ ์ ๋ถ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ์ ์ฌ์ฉ๋์ง๋ ์๋ ๋ฏ ํ๋ค.
์ด์ธ์
ctrl + r ํน์ ํจ์ ์ด๋
ctrl + g ํน์ ๋ผ์ธ ์ด๋
ctrl + l ํน์ ๊ตฌ๋ฌธ ์ ํ ํ์(๋จผ์ ๋์ค๋ ๋์์ ์ฐพ์์ ๋ณด์ฌ์ค๋ค.)
๋ฑ์ด ์๋ค.
5.2. ๋ช ๋ น ํ๋ ํธ[ํธ์ง]
๋ช
๋ น์ด๋ก Sublime-Text์ ์ฃผ์ ์กฐ์์ ํ ์ ์๊ฒ ํด์ฃผ๋ ๋ถ๋ถ. ํจํค์ง ๋งค๋์ ๋ฅผ ์ค์นํ๋ค๋ฉด ์ด ๊ณณ์ ํตํด ์ฌ์ฉํ ์ ์๋ค.
Ctrl+Shift+P ํค๋ฅผ ๋๋ฌ ์ด ์ ์๋ค.
Ctrl+Shift+P ํค๋ฅผ ๋๋ฌ ์ด ์ ์๋ค.
5.3. ๋ค์ค ์ ํ[ํธ์ง]
๋จ์ถํค Ctrl+D๋ก ์ปค์ ์์น์ ๋์ผํ ๋จ์ด๋ฅผ ์ ํํ๊ณ , ๋์์ ์์ ๊ฐ๋ฅํ๋ค. Ctrl+๋ง์ฐ์ค ์ ํ ํน์ Ctrl+F๋ก ๊ฒ์ํด๋ ๋๋ค.
'๋ณ์๋ช '๊ฐ์ ์ค๋ณต๋๋ ๋จ์ด ์์ ์ ํธ๋ฆฌํ๋ค.
๋์๋ฌธ์๋ฅผ ๊ตฌ๋ณํ ์ฑ๋ก Ctrl+d๋ฅผ ํ๊ณ ์ถ๋ค๋ฉด Ctrl+f๋ฅผ ํจ ๋ค์, ๋์๋ฌธ์ ๊ตฌ๋ณ์ ํจ ๋ค์, ๋ค์ค์ ํํ ๋จ์ด ์์ ์ปค์๋ฅผ ์ฌ๋ ค ๋๋๋ค. ๊ทธ๋ฐ ๋ค์ Ctrl+d๋ฅผ ๋๋ฅด๋ฉด ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ณํ์ฌ ๋ค์ค์ ํ์ด ๋๋ค. Ctrl+u๋ก ๋ง์ง๋ง์ ์ ํํ ๊ฑธ ์ทจ์ ํ ์ ์๋ค.
ํ์ด์ง ์ ์ฒด ๋จ์๋ก ํน์ ๋จ์ด๋ฅผ ์ ํํ๊ณ ์ถ๋ค๋ฉด ctrl+f์์ ํน์ ๋จ์ด๋ฅผ ์ ๋ ฅํ ๋ค์ find all๋ฒํผ์ ๋๋ฅด๊ฑฐ๋, ํน์ ๋จ์ด๋ฅผ ์ปค์์ ์ฌ๋ ค๋์ ๋ค์์, alt+f3๋ฅผ ๋๋ฅด๋ฉด ์ ์ฒด์ ํ์ด ๋๋ค.
5.4. ๊ธฐํ[ํธ์ง]
- ์ ์ฒดํ๋ฉด ๋ชจ๋: F11 ํค๋ฅผ ๋๋ฅด๋ฉด ์ ์ฒดํ๋ฉด ๋ชจ๋, Shift+F11 ํค๋ก ์๋จ ๋ฉ๋ด ์ธ ๋ชจ๋ UI๋ฅผ ๊ฐ๋ฆด ์ ์๋ค.
- ๋งคํฌ๋ก: ํน์ ํ ์์ ์ ๊ธฐ๋กํด ๋์๋ค๊ฐ ์คํํ ์ ์๋ค.
6. ๊ธฐ๋ณธ ์ธํ [ํธ์ง]
6.1. ํจํค์ง ์ปจํธ๋กค[ํธ์ง]
์๋ธ๋ผ์ ํ
์คํธ๋ฅผ ์ํํ๊ฒ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋จผ์ ํจํค์ง ์ปจํธ๋กค(Package Control)์ ์ค์นํ์ฌ์ผ ํ๋ค. ๊ฐ๋จํ๊ฒ๋ ํ
๋ง๋ถํฐ C++11 ๋ฑ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํ์ง ์๋ ์ธ์ด์ Syntax Highlight ๊ธฐ๋ฅ ๋ฑ ๋ค์ํ ํ๋ฌ๊ทธ์ธ์ ๋ช
๋ น์ด ํ ์ค๋ก ์ถ๊ฐํ ์ ์๊ฒ ๋์์ค๋ค. ์ฌ์ค์ ํ์์ ์ธ ํ๋ฌ๊ทธ์ธ. Will Bond๊ฐ ์ ์ํ์๋ค.
์ค์น ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค. ๋จผ์ https://packagecontrol.io/installation์ ์ ์ํ๋ค. ํ์ด์ง์ ์๋ ๋ช ๋ น์ด ์ฝ๋๋ฅผ ๋ณต์ฌํ๋ค. ์๋ธ๋ผ์ ํ ์คํธ์์ Python ์ฝ์(Ctrl + `)์ ์ด๊ณ ์ฝ๋๋ฅผ ๋ถ์ฌ ๋ฃ๊ณ ์คํํ๋ค. ์ค์น๊ฐ ์๋ฃ๋๊ณ ๋๋ฉด ๋ช ๋ น์ด ํ๋ ํธ(Ctrl+Shift+P)์ Package Control:๋ก ์์ํ๋ ๋ฉ๋ด๊ฐ ์ถ๊ฐ๋ ๊ฒ์ ๋ณผ ์ ์๋ค. Package Control:Install Package๋ฅผ ์ ํํ๋ฉด ํ๋ฌ๊ทธ์ธ ๋ชฉ๋ก์ด ๋จ๋ฉฐ, ์ฌ๊ธฐ์ ์ค์นํ๊ณ ์ ํ๋ ํ๋ฌ๊ทธ์ธ์ ์ด๋ฆ์ ๊ฒ์ํ๊ณ ์ํฐ๋ฅผ ๋๋ฅด๋ฉด ๋ฐ๋ก ์ค์น๋๋ค.
3211 ๋ฒ์ ๊ธฐ์ค์ผ๋ก Sublime Text ์ค์น ํ ๋ช ๋ น์ด ํ๋ ํธ์ install ์ด๋ผ๊ณ ์ ๋ ฅํ๋ฉด Install Package Control ๋ช ๋ น์ด ๋ณด์ด๊ณ ์ด๊ฒ์ ์ ํํ๋ฉด ์๋์ผ๋ก Package Control์ด ์ค์น๋๋ค.
์ค์น ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค. ๋จผ์ https://packagecontrol.io/installation์ ์ ์ํ๋ค. ํ์ด์ง์ ์๋ ๋ช ๋ น์ด ์ฝ๋๋ฅผ ๋ณต์ฌํ๋ค. ์๋ธ๋ผ์ ํ ์คํธ์์ Python ์ฝ์(Ctrl + `)์ ์ด๊ณ ์ฝ๋๋ฅผ ๋ถ์ฌ ๋ฃ๊ณ ์คํํ๋ค. ์ค์น๊ฐ ์๋ฃ๋๊ณ ๋๋ฉด ๋ช ๋ น์ด ํ๋ ํธ(Ctrl+Shift+P)์ Package Control:๋ก ์์ํ๋ ๋ฉ๋ด๊ฐ ์ถ๊ฐ๋ ๊ฒ์ ๋ณผ ์ ์๋ค. Package Control:Install Package๋ฅผ ์ ํํ๋ฉด ํ๋ฌ๊ทธ์ธ ๋ชฉ๋ก์ด ๋จ๋ฉฐ, ์ฌ๊ธฐ์ ์ค์นํ๊ณ ์ ํ๋ ํ๋ฌ๊ทธ์ธ์ ์ด๋ฆ์ ๊ฒ์ํ๊ณ ์ํฐ๋ฅผ ๋๋ฅด๋ฉด ๋ฐ๋ก ์ค์น๋๋ค.
3211 ๋ฒ์ ๊ธฐ์ค์ผ๋ก Sublime Text ์ค์น ํ ๋ช ๋ น์ด ํ๋ ํธ์ install ์ด๋ผ๊ณ ์ ๋ ฅํ๋ฉด Install Package Control ๋ช ๋ น์ด ๋ณด์ด๊ณ ์ด๊ฒ์ ์ ํํ๋ฉด ์๋์ผ๋ก Package Control์ด ์ค์น๋๋ค.
6.2. IMESupport[ํธ์ง]
์์ ์์ ํ๋ ํ๊ธ ์
๋ ฅ์ ์ง์ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ํ๋ฌ๊ทธ์ธ. ๋ค๋ง ๋ฉ๋ชจ์ฅ์ด๋ ์๋์ฒ๋ผ ์์ฐ์ค๋ฝ๊ฒ ํ๊ธ์ ์
๋ ฅํ ์ ์๋ ๊ฒ์ ์๋๋ค. ํ๋ฉด ๋ชจ์๋ฆฌ์ ๋จ๋ ๊ฒ์ด ์ปค์ ์์ ๋จ๊ฒ๋์๋ค๋ ์ฐจ์ด ๋ฐ์ ์๋ค. ๊ทธ๋๋ ์๋ ๊ฒ๋ณด๋ค๋ ํจ์ฌ ๋ซ๋ค. Find๋ Replace ๋ฑ์์ ์ ์ฉ์ด ์๋๋ค.
Windows10 ์ดํ๋ฒ์ ์์๋ง ์ ์ฉ๋๋ค.
3211 ๋ฒ์ ๊ธฐ์ค IMESupport ์ค์น ์ํ ์ํ์์ ํ๋ฉด ๋ชจ์๋ฆฌ๊ฐ ์๋ ์ปค์ ๋ฐ๋ก ์๋์ ์ ๋ ฅ์ค์ธ ํ๊ธ์ด ํ์๋๋ค.
IMESupport ์ฌ์ฉ์ Find ์ ๋ ฅ์ฐฝ์์ ์ ๋ ฅ์ค์ธ ๊ธ์๊ฐ Find ์ฐฝ์ด ์๋ ํธ์ง์ฐฝ ์ปค์์ชฝ์ ํ์๋๋ ๋ฌธ์ ๊ฐ ์์ผ๋ฏ๋ก ์จ๋ณด๊ณ ๊ธฐ๋ณธ์ํ์ IMESupport ์ค์ ์ ํํ๋ฉด ๋๋ค.
Windows10 ์ดํ๋ฒ์ ์์๋ง ์ ์ฉ๋๋ค.
3211 ๋ฒ์ ๊ธฐ์ค IMESupport ์ค์น ์ํ ์ํ์์ ํ๋ฉด ๋ชจ์๋ฆฌ๊ฐ ์๋ ์ปค์ ๋ฐ๋ก ์๋์ ์ ๋ ฅ์ค์ธ ํ๊ธ์ด ํ์๋๋ค.
IMESupport ์ฌ์ฉ์ Find ์ ๋ ฅ์ฐฝ์์ ์ ๋ ฅ์ค์ธ ๊ธ์๊ฐ Find ์ฐฝ์ด ์๋ ํธ์ง์ฐฝ ์ปค์์ชฝ์ ํ์๋๋ ๋ฌธ์ ๊ฐ ์์ผ๋ฏ๋ก ์จ๋ณด๊ณ ๊ธฐ๋ณธ์ํ์ IMESupport ์ค์ ์ ํํ๋ฉด ๋๋ค.
6.3. ConvertToUTF8[ํธ์ง]
์๋ธ๋ผ์ ํ
์คํธ์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก EUC-KR์ ๋น๋กฏํด ์ค๊ตญ์ด, ์ผ๋ณธ์ด ์ธ์ฝ๋ฉ์ ์ง์ํ์ง ์๋๋ค. ์ด ํ๋ฌ๊ทธ์ธ์ ์ค์นํ๋ฉด File ๋ฉ๋ด ํ์์ Set File Encoding to ๋ฉ๋ด์ Reload with Encoding ๋ฉ๋ด์ EUC-KR ๋ฑ์ด ์ถ๊ฐ๋์ด ๋ณด๋ค ํธ๋ฆฌํ๊ฒ ์ด๋ํ ์ ์๋ค. UTF-8๋ก ์ ํ๋ ๊ฐ๋ฅํ๋ฐ, ์ผ๋ถ ์คํฌ๋ฆฝํธ ์ธ์ด ๋ฑ์์ ํ๊ธ์ด ๊นจ์ง ๋ UTF-8๋ก ์ ํํด๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์ ๊ฒฝ์ฐ์๋ ๋ฉ๋ชจ์ฅ์ผ๋ก ์ด์ด์ '์ ๋์ฝ๋' ์ธ์ฝ๋ฉ์ผ๋ก ์ ์ฅํด์ฃผ์ด์ผ ํ๋ค(...)
[1] Lime Text๋ ํ์ฌ ๋ฐฑ์ค๋๋ ๊ฐ๋ฐ์ด ๋ง์ด ์ง์ฒ๋ ์ํ์ง๋ง ํ๋ก ํธ์๋์ ๊ฐ๋ฐ์ ์๋นํ ๋ถ์งํ๋ค.
[2] Fuzzy Search๋ผ๊ณ ํ๋๋ฐ ์์๋ถํฐ ๊ธ์ ํ๋ ํ๋ฆฌ์ง ์๊ณ ์ผ์นํด์ผ ํ๋ ๊ธฐ์กด ๊ฒ์์ ๋นํด ๋งจ ์ฒซ ๊ธ์์ ์ดํ์๋ ์์๋ง ๋ง์ผ๋ฉด ์ฌ์ด์ฌ์ด์ ๋ค๋ฅธ ๊ธ์๊ฐ ๋ค์ด๊ฐ๋ ๋๋ค.