์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
์ ๊ฐ๋ฐ์ | |
ํ์ฌ ๊ฐ๋ฐ์๋ค | GNU ํ๋ก์ ํธ |
์ต์ด ๋ฆด๋ฆฌ์ค | |
์์ ๋ฒ์ | 27.1 (2020๋
8์ 11์ผ) |
ํ๋ฆฌ๋ทฐ ๋ฒ์ | ํ์ฌ ์์ |
๊ฐ๋ฐ ์ธ์ด | |
์ด์ ์ฒด์ | ํฌ๋ก์ค ํ๋ซํผ |
์ธ์ด | |
๋ผ์ด์ ์ค | GNU GPLv3 |
์น ์ฌ์ดํธ |
1. ๊ฐ์[ํธ์ง]
2. ์์ธ[ํธ์ง]
ํ์ฅ์ฑ์ด ๋งค์ฐ ๋์ ๊ฒ์ผ๋ก ์ ๋ช
ํ๋ฐ, ํค๋ณด๋ ๋จ์ถํค๋ง ํด๋ 1,000๊ฐ๊ฐ ๋์ด๊ฐ๋ ์ฝ๊ธฐ์ ์ธ ๋ฉด๋ชจ๋ฅผ ๊ฐ์ถ๊ณ ์๋ค. ๋๊ตฐ๋ค๋ ๋งคํฌ๋ก๊ฐ ์์ฒญ๋๊ฒ ๋ง์์, ๋ค ์ตํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅ์ ๊ฐ๊น๋ค. 1970๋
์ค๋ฐ๋ถํฐ ๊ฐ๋ฐ์ด ์์๋์์ผ๋ฉฐ 2019๋
ํ์ฌ๊น์ง๋ ํ๋ฐํ๊ฒ ๊ฐ๋ฐ์ด ์ด๋ฃจ์ด์ง๊ณ ์๋ ์ํฉ์ด๋ค. ์ญ์ฌ๊ฐ ๊ธด ๋งํผ ์ฌ๋ฌ ๋ฒ์ ์ด ์๋๋ฐ ์ญ์ ๊ฐ์ฅ ์ ํต์ผ๋ก ์ธ์ ๋ฐ๋ ๋ฒ์ ์ GNU Emacs๋ก, ํ์ฌ GNU Project(์คํ ์์ค ํ๋ก์ ํธ)์์ ๊ด๋ฆฌํ๋ ๋ฒ์ ์ด๋ค. ๊ทธ๋ฌ๋ ์ด ์ธ์๋ XEmacs, Aquamacs ๋ฑ ๋ค์ํ ๋ฒ์ ์ด ์กด์ฌํ๋ค.
๋ณธ๋ TECO๋ผ๋ ํธ์ง๊ธฐ์ ๋งคํฌ๋ก๋ฅผ ์ง ๋ฃ์ผ๋ฉด์ ๊ฐ๋ฐ์ด ์์๋์๋๋ฐ ์ ๋ช ํ ๋ฆฌ์ฒ๋ ์คํจ๋จผ์ด ์ฒซ ์ฃผ์๋ก ๊ฐ๋ฐ์ ์์ํ๋ค. ์ดํ TECO ํธ์ง๊ธฐ ๋งคํฌ๋ก๋ฅผ ์ง๋ ์ฌ๋ฌ ์ฌ๋๋ค์ด ํฉ์ธํ์ฌ ๋ณธ๊ฒฉ์ ์ผ๋ก ๊ฐ๋ฐ์ด ์์๋์๋ค.
UNIX ๊ณ์ด์๋ ์ด๋งฅ์ค ๋ง๊ณ ๋ vim์ด๋ผ๋ ๋ ์์ด ์๋๋ฐ, ์ด ๋์ด ํธ์ง๊ธฐ ์๊ฐ ์ฒด์ ๋ฅผ ๊ตฌ์ถํ๊ณ ์๋ ์ํฉ์ด๊ณ , ์ค๋ซ๋์ ๋์ ๋น๊ตํ๋ ๋ก๋ฐฅ๊ณผ ํจ๊ป ํค๋ฐฐ๊ฐ ์งํ๋์๋ค. ์ฌ์ง์ด ํธ์ง๊ธฐ ์ ์์ด๋ผ๋ ์ฉ์ด๋ฅผ ์ฌ์ฉํ ์ ๋. ์ ๊ณตํ๋ ๊ธฐ๋ฅ ๋ฉด์์๋ ์ด๋งฅ์ค๊ฐ ํ์คํ ์ฐ์์ ์์์ง๋ง, ๊ฐ๋ฒผ์ ๋ฐ ํธ๋ฆฌํ ํ๊ฒฝ ์ด๋์ ์์ด์๋ vim์ด ์ฐ์์ ์์๊ธฐ ๋๋ฌธ์ ๊ฒฐ๊ตญ ํธ์ง๊ธฐ ์๋ ๊ฒฐ๋ก ์ด ๋ ์ ์๋ ๋ค๋ฒ์๋ฉ ์คํ ๋ฆฌ๊ฐ ๋์๋ค. M16 ์์ด vs. AK-47 ๊ณผ ๋น์ทํ ๊ฒฝ์ฐ๋ผ ๋ณผ ์ ์๋ค.์ญ์๋ ์ต๊ฐ์๋ ed
vim์ด vi์๋ ์์ ์๋ vim script ๊ฐ์ ๊ฒ์ด ์กด์ฌํ์ง๋ ์์๊ธฐ์ ํ์ฅ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๊ธฐ์ ๋ฌด๋ฆฌ๊ฐ ์์๋ค. 2020๋ ํ์ฌ๋ vim script๋ ์ฌ๋ฌ ํจ๋ฌ๋ค์์ ์ฑ์ฉํ์ฌ ์๋นํ ๋ฒ์ฉ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ฐ๊น์์ก๊ธฐ์ ์ด๋งฅ์ค ๋ชป์ง ์๊ฒ ๋ค์ํ ๊ธฐ๋ฅ์ ์์ฑํ ์ ์๊ฒ ๋์๊ณ , ์ค์ ๋ก๋ ๊ต์ฅํ ๋ง์ ํ๋ฌ๊ทธ์ธ์ด ์กด์ฌํ๋ค. ๊ทธ๋ ๋ค๊ณ ํ์ฌ๋ ์ฌ์ ํ vim์ด ์ด๋งฅ์ค์ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ๋ ๋ฌด๋ฆฌ๊ฐ ์์ผ๋ฉฐ, ์ด๋งฅ์ค๋ ๋ง์ ํ์ฅ ๊ธฐ๋ฅ๋ค์ด ๊ฐ๋ฐ๋๊ณ ์๊ธฐ์, vim์ ๋นํด ํ์ฅ์ฑ์ด๋ ์ ๊ณต๋๋ ๊ธฐ๋ฅ์ด ๋จ์ด์ง๋ค๊ณ ๋ณด๊ธฐ ํ๋ค๋ค. vim์ด๋ Emacs๋ ํฐ๋ฏธ๋์์๋ ๊ธฐ๋ฅ์ ์จ์ ํ ์ฌ์ฉํ ์ ์์ง๋ง ์๊ฐ๋ณด๋ค ๋ง์ ํ๋ฌ๊ทธ์ธ๋ค์ด TUI์ ์ ์ ๋ง๋๋ค. ๊ฒ๋ค๊ฐ ๋ฐ๋๋ก Emacs์์ ํฐ๋ฏธ๋์ ์๋ฎฌ๋ ์ดํ ํ ์ ์๊ธฐ์...[1] ๋ค๋ง vim์ด๋ Emacs๋ ์คํฌ๋ฆฝํธ ์ธํฐํ๋ฆฌํฐ๊ฐ ๋ฌด์ง์ฅ ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ ํ๋ฌ๊ทธ์ธ์ ๋ง์ด ์ค์นํ๋ฉด ๋ ๋ค ๋ง์ด ๋๋ ค์ง๋ค. Emacs์๋ Vim์ ํค ๋ฐ์ธ๋ฉ์ ์ง์ํ๋ Evil ๋ชจ๋๊ฐ ์๊ณ , Spacemacs์ ๊ฐ์ ํคํธ๋ฅผ ์ด์ฉํ๋ฉด ๊ธฐ๋ณธ ์ค์ ์ด Vim ๋ฐ์ธ๋ฉ์ด๊ธฐ ๋๋ฌธ์ Vim์ ์ธ ์ค ์๋ค๋ฉด ์๋นํ ์ฝ๊ฒ Emacs๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
์ค์ ๋ก ํด๋ผ์ด์ธํธ๊ฐ ์๋์ฐ์ธ ๊ฒ์ ์๋ฒ๋ฅผ ์ ์ธํ ๊ฑฐ์ ๋๋ถ๋ถ์ ๋ถ์ผ์์๋ ์ ๋์ค/๋ฆฌ๋ ์ค๊ฐ ์๋์ ์ผ๋ก ์ฌ์ฉ๋๊ณ ์ฆ๊ฐํ๋ ์ถ์ธ์ด๋ค. ํนํ ๋ฐ์ ์ ์์คํ ๊ณผ ๋ณ์ ์ ์์คํ ์ ์ ๋์ค/๋ฆฌ๋ ์ค๊ฐ ์ ๋ถ๋ผ ํด๋ ์ข์ ์ ๋์ด๋ค. ์ด ๋, ์ ์ฒด์์ ๋ฉํํ ์๋ฒ์ ์ ๋ฌด์ ๊ด๊ณ์๋ ํด์ด๋ ์ฑ์ ์ต์ํ์ผ๋ก ์ค์นํ๊ฑฐ๋ ๋ํดํธ๋ฅผ ์ ์งํ๋๋ฐ vi/vim์ด ์ ๊น๋ฆฐ ๋ฆฌ๋ ์ค/์ ๋์ค ๊ณ์ด์ ์ฌ์ค์ ์กด์ฌํ์ง ์๋ค ๋ณด๋ ์์ฐํ ๊ทธ๋ฌํ ๊ฐ๋ฐ ํ๊ฒฝ์ ์์ง๋์ด๋ค์ ํ์ฅ๊ณผ ๋์ผํ ํด์ ์ต์ํด์ง๋ ๊ฒ ์ ๋ฆฌํ๊ธฐ ๋๋ฌธ์ด๊ธฐ๋ ํ๊ณ , ์ด๋งฅ์ค ํน์ ์ ์ปค์คํ ์ด ์์ ์ด ์ค์ ํ์ง ์์ ํ๊ฒฝ์์์ ์ฌ์ฉ์ ์ฌํ ์ด์ง๊ฐ์ ๋๋ผ๊ฒ ํ๋ ๊ฒ๋ ์์ธ์ผ๋ก ์ง์ ๋๋ค. ๋ค๋ง TRAMP๋ฅผ ์ฐ๋ฉด ์ ์ด์ ์๋ฒ์ Emacs๊ฐ ์ค์น๋์ด ์์ ํ์๋, ํฐ๋ฏธ๋๋ก ๋ก๊ทธ์ธ ํ ํ์๋ ์์ด, ๋ก์ปฌ ํธ์ง๊ธฐ์์ ์๋ฒ ํ์ผ์ ์์ ํ ์ ์์ผ๋ฏ๋ก ๊ธฐ์กด ์ค์น ์ ๋ฌด๋ ๊ทธ๋ค์ง ์ํฅ์ด ์๋ค. ์ฌ์ค Emacs๋ฅผ ์ฐ๋ ์ฌ๋๋ค์ VI๋ฅผ ๋์ฒด๋ก ์ธ ์ค ์๋ ์ฌ๋๋ค์ด๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฅ ๊น๋ ค ์๋ ๊ฑฐ ์ด๋ค๋ ๊ฒ ๋ ์ ํํ ์๊ธฐ์ผ ๋ฏ. ๊ฒ๋ค๊ฐ Emacs ์ค๋ ์ฐ๋ ์ฌ๋๋ค์ ๋น์ฐํ ์์ ์ Setting์ ์ฎ๊ธธ ๋ฐฉ๋ฒ๋ ๋ง๋ จํด ๋๋๋ค. ๋ํ์ ์ผ๋ก GitHub์ ๊ณต์ ํด๋๊ฑฐ๋ tar๋ก Portable ์ ์ฅ์ฅ์น์ ์ ์ฅํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. Emacs์ vim์ ๋ํ ๊ณต์ ํ ๋น๊ต๋ Emacs๋ vim๋งํผ ๋ง์ ๋ฐฐํฌํ์ ๊ธฐ๋ณธ์ผ๋ก ๊น๋ ค์์ง ์๋ค๋ ๊ฒ์ผ๋ก ๋ง๋ฌด๋ฆฌ ์ง์ด์ผ ํ๋ค.
๋ณธ๋ TECO๋ผ๋ ํธ์ง๊ธฐ์ ๋งคํฌ๋ก๋ฅผ ์ง ๋ฃ์ผ๋ฉด์ ๊ฐ๋ฐ์ด ์์๋์๋๋ฐ ์ ๋ช ํ ๋ฆฌ์ฒ๋ ์คํจ๋จผ์ด ์ฒซ ์ฃผ์๋ก ๊ฐ๋ฐ์ ์์ํ๋ค. ์ดํ TECO ํธ์ง๊ธฐ ๋งคํฌ๋ก๋ฅผ ์ง๋ ์ฌ๋ฌ ์ฌ๋๋ค์ด ํฉ์ธํ์ฌ ๋ณธ๊ฒฉ์ ์ผ๋ก ๊ฐ๋ฐ์ด ์์๋์๋ค.
UNIX ๊ณ์ด์๋ ์ด๋งฅ์ค ๋ง๊ณ ๋ vim์ด๋ผ๋ ๋ ์์ด ์๋๋ฐ, ์ด ๋์ด ํธ์ง๊ธฐ ์๊ฐ ์ฒด์ ๋ฅผ ๊ตฌ์ถํ๊ณ ์๋ ์ํฉ์ด๊ณ , ์ค๋ซ๋์ ๋์ ๋น๊ตํ๋ ๋ก๋ฐฅ๊ณผ ํจ๊ป ํค๋ฐฐ๊ฐ ์งํ๋์๋ค. ์ฌ์ง์ด ํธ์ง๊ธฐ ์ ์์ด๋ผ๋ ์ฉ์ด๋ฅผ ์ฌ์ฉํ ์ ๋. ์ ๊ณตํ๋ ๊ธฐ๋ฅ ๋ฉด์์๋ ์ด๋งฅ์ค๊ฐ ํ์คํ ์ฐ์์ ์์์ง๋ง, ๊ฐ๋ฒผ์ ๋ฐ ํธ๋ฆฌํ ํ๊ฒฝ ์ด๋์ ์์ด์๋ vim์ด ์ฐ์์ ์์๊ธฐ ๋๋ฌธ์ ๊ฒฐ๊ตญ ํธ์ง๊ธฐ ์๋ ๊ฒฐ๋ก ์ด ๋ ์ ์๋ ๋ค๋ฒ์๋ฉ ์คํ ๋ฆฌ๊ฐ ๋์๋ค. M16 ์์ด vs. AK-47 ๊ณผ ๋น์ทํ ๊ฒฝ์ฐ๋ผ ๋ณผ ์ ์๋ค.
vim์ด vi์๋ ์์ ์๋ vim script ๊ฐ์ ๊ฒ์ด ์กด์ฌํ์ง๋ ์์๊ธฐ์ ํ์ฅ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๊ธฐ์ ๋ฌด๋ฆฌ๊ฐ ์์๋ค. 2020๋ ํ์ฌ๋ vim script๋ ์ฌ๋ฌ ํจ๋ฌ๋ค์์ ์ฑ์ฉํ์ฌ ์๋นํ ๋ฒ์ฉ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ฐ๊น์์ก๊ธฐ์ ์ด๋งฅ์ค ๋ชป์ง ์๊ฒ ๋ค์ํ ๊ธฐ๋ฅ์ ์์ฑํ ์ ์๊ฒ ๋์๊ณ , ์ค์ ๋ก๋ ๊ต์ฅํ ๋ง์ ํ๋ฌ๊ทธ์ธ์ด ์กด์ฌํ๋ค. ๊ทธ๋ ๋ค๊ณ ํ์ฌ๋ ์ฌ์ ํ vim์ด ์ด๋งฅ์ค์ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ๋ ๋ฌด๋ฆฌ๊ฐ ์์ผ๋ฉฐ, ์ด๋งฅ์ค๋ ๋ง์ ํ์ฅ ๊ธฐ๋ฅ๋ค์ด ๊ฐ๋ฐ๋๊ณ ์๊ธฐ์, vim์ ๋นํด ํ์ฅ์ฑ์ด๋ ์ ๊ณต๋๋ ๊ธฐ๋ฅ์ด ๋จ์ด์ง๋ค๊ณ ๋ณด๊ธฐ ํ๋ค๋ค. vim์ด๋ Emacs๋ ํฐ๋ฏธ๋์์๋ ๊ธฐ๋ฅ์ ์จ์ ํ ์ฌ์ฉํ ์ ์์ง๋ง ์๊ฐ๋ณด๋ค ๋ง์ ํ๋ฌ๊ทธ์ธ๋ค์ด TUI์ ์ ์ ๋ง๋๋ค. ๊ฒ๋ค๊ฐ ๋ฐ๋๋ก Emacs์์ ํฐ๋ฏธ๋์ ์๋ฎฌ๋ ์ดํ ํ ์ ์๊ธฐ์...[1] ๋ค๋ง vim์ด๋ Emacs๋ ์คํฌ๋ฆฝํธ ์ธํฐํ๋ฆฌํฐ๊ฐ ๋ฌด์ง์ฅ ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ ํ๋ฌ๊ทธ์ธ์ ๋ง์ด ์ค์นํ๋ฉด ๋ ๋ค ๋ง์ด ๋๋ ค์ง๋ค. Emacs์๋ Vim์ ํค ๋ฐ์ธ๋ฉ์ ์ง์ํ๋ Evil ๋ชจ๋๊ฐ ์๊ณ , Spacemacs์ ๊ฐ์ ํคํธ๋ฅผ ์ด์ฉํ๋ฉด ๊ธฐ๋ณธ ์ค์ ์ด Vim ๋ฐ์ธ๋ฉ์ด๊ธฐ ๋๋ฌธ์ Vim์ ์ธ ์ค ์๋ค๋ฉด ์๋นํ ์ฝ๊ฒ Emacs๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
์ค์ ๋ก ํด๋ผ์ด์ธํธ๊ฐ ์๋์ฐ์ธ ๊ฒ์ ์๋ฒ๋ฅผ ์ ์ธํ ๊ฑฐ์ ๋๋ถ๋ถ์ ๋ถ์ผ์์๋ ์ ๋์ค/๋ฆฌ๋ ์ค๊ฐ ์๋์ ์ผ๋ก ์ฌ์ฉ๋๊ณ ์ฆ๊ฐํ๋ ์ถ์ธ์ด๋ค. ํนํ ๋ฐ์ ์ ์์คํ ๊ณผ ๋ณ์ ์ ์์คํ ์ ์ ๋์ค/๋ฆฌ๋ ์ค๊ฐ ์ ๋ถ๋ผ ํด๋ ์ข์ ์ ๋์ด๋ค. ์ด ๋, ์ ์ฒด์์ ๋ฉํํ ์๋ฒ์ ์ ๋ฌด์ ๊ด๊ณ์๋ ํด์ด๋ ์ฑ์ ์ต์ํ์ผ๋ก ์ค์นํ๊ฑฐ๋ ๋ํดํธ๋ฅผ ์ ์งํ๋๋ฐ vi/vim์ด ์ ๊น๋ฆฐ ๋ฆฌ๋ ์ค/์ ๋์ค ๊ณ์ด์ ์ฌ์ค์ ์กด์ฌํ์ง ์๋ค ๋ณด๋ ์์ฐํ ๊ทธ๋ฌํ ๊ฐ๋ฐ ํ๊ฒฝ์ ์์ง๋์ด๋ค์ ํ์ฅ๊ณผ ๋์ผํ ํด์ ์ต์ํด์ง๋ ๊ฒ ์ ๋ฆฌํ๊ธฐ ๋๋ฌธ์ด๊ธฐ๋ ํ๊ณ , ์ด๋งฅ์ค ํน์ ์ ์ปค์คํ ์ด ์์ ์ด ์ค์ ํ์ง ์์ ํ๊ฒฝ์์์ ์ฌ์ฉ์ ์ฌํ ์ด์ง๊ฐ์ ๋๋ผ๊ฒ ํ๋ ๊ฒ๋ ์์ธ์ผ๋ก ์ง์ ๋๋ค. ๋ค๋ง TRAMP๋ฅผ ์ฐ๋ฉด ์ ์ด์ ์๋ฒ์ Emacs๊ฐ ์ค์น๋์ด ์์ ํ์๋, ํฐ๋ฏธ๋๋ก ๋ก๊ทธ์ธ ํ ํ์๋ ์์ด, ๋ก์ปฌ ํธ์ง๊ธฐ์์ ์๋ฒ ํ์ผ์ ์์ ํ ์ ์์ผ๋ฏ๋ก ๊ธฐ์กด ์ค์น ์ ๋ฌด๋ ๊ทธ๋ค์ง ์ํฅ์ด ์๋ค. ์ฌ์ค Emacs๋ฅผ ์ฐ๋ ์ฌ๋๋ค์ VI๋ฅผ ๋์ฒด๋ก ์ธ ์ค ์๋ ์ฌ๋๋ค์ด๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฅ ๊น๋ ค ์๋ ๊ฑฐ ์ด๋ค๋ ๊ฒ ๋ ์ ํํ ์๊ธฐ์ผ ๋ฏ. ๊ฒ๋ค๊ฐ Emacs ์ค๋ ์ฐ๋ ์ฌ๋๋ค์ ๋น์ฐํ ์์ ์ Setting์ ์ฎ๊ธธ ๋ฐฉ๋ฒ๋ ๋ง๋ จํด ๋๋๋ค. ๋ํ์ ์ผ๋ก GitHub์ ๊ณต์ ํด๋๊ฑฐ๋ tar๋ก Portable ์ ์ฅ์ฅ์น์ ์ ์ฅํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. Emacs์ vim์ ๋ํ ๊ณต์ ํ ๋น๊ต๋ Emacs๋ vim๋งํผ ๋ง์ ๋ฐฐํฌํ์ ๊ธฐ๋ณธ์ผ๋ก ๊น๋ ค์์ง ์๋ค๋ ๊ฒ์ผ๋ก ๋ง๋ฌด๋ฆฌ ์ง์ด์ผ ํ๋ค.
3. ์ฐํ[ํธ์ง]
์ฒ์ ๊ฐ๋ฐ์ด ์์๋ ๊ณณ์ MIT AI Lab์์ Incompatible Timesharing System (ITS) ์ด๋ผ๋ OS์ ์ฐ์ด๋ TECO(Tape Editor and Corrector)๋ผ๋ ํธ์ง๊ธฐ์์ ์์๋์๋ค. ์์ฆ ์ฝ๊ฒ ์ ํ ์ ์๋ ํธ์ง๊ธฐ๋ค๊ณผ ๋ฌ๋ฆฌ TECO๋ ํธ์ง ๋ชจ๋, ์ถ๊ฐ ๋ชจ๋, ๋ฌธ์ ์ถ๋ ฅ ๋ชจ๋๊ฐ ๋ฐ๋ก ์กด์ฌํ์ผ๋ฉฐ ํ
์คํธ๋ฅผ ํ์ดํํด ์
๋ ฅํ์ด๋ ๋ฐ๋ก ํ์ฌ ํธ์ง ์ค์ธ ๋ฌธ์์ ๋ฐ์๋์ง ์๊ณ ๋ช
๋ น์ด๋ฅผ ์ด์ฉํ์ฌ ํด๋น ๋ฌธ์์ด์ ์
๋ ฅํ๋๋ก ํ๋ก๊ทธ๋จ ํ์ฌ์ผ ๋น๋ก์ ์
๋ ฅ๋๋ ๋ถํธํจ์ ์๋ํ๋ค. ์ฌ์ค ์ด ๋น์ ํธ์ง๊ธฐ๋ค์ ์ด ์ ๋๋ฉด ํธ๋ฆฌํ ๊ฒ์ด์๋ค. ์๋ ์๋ ํ์น ์นด๋๋ก ํ๋ก๊ทธ๋๋ฐ์ ํ๋ค๋ ๊ฒ์ ์๊ธฐํด ๋ณด์. ์ด์ ๋น์ทํ ํธ์ง๊ธฐ๋ก vi์ ์ ์ ์ธ ed๋ผ๋ ๋
์์ด ์กด์ฌํ๋ค.
์คํจ๋จผ์ 1972~1974๋ ๋์ ์คํ ํผ๋์ AI Lab ์ ๋ฐฉ๋ฌธํ๋ฉด์ E๋ผ๋ ํธ์ง๊ธฐ๋ฅผ ์ ํ๊ฒ ๋๋๋ฐ, ์ด๊ฒ ๋ฐ๋ก WYSIWYG(What You See Is What You Get)๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์์๋ค. ์ฌ๊ธฐ์ ๋๋ ๋๋จธ์ง ์ดํ MIT๋ก ๋์์์ TECO์ ๋น์ทํ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ฒ ๋๊ณ , ํธ์๋ฅผ ์ํด ์ฌ๋ฌ ๋งคํฌ๋ก๋ฅผ ์ถ๊ฐํ๋ฉด์ ์ ์ ๋ถ๋ ค๋๊ฐ๊ธฐ ์์ํ๋ค. ์ดํ ๋งคํฌ๋ก๊ฐ ์ ์ ๋ง์์ง์ ๋ฐ๋ผ MACS๋ผ๋ ์์ด๊ฐ ์ฐ์ด๊ฒ ๋์๊ณ , Editing MACroS๋ผ๊ณ ์์ ์๋ก์ด ์ด๋ฆ์ผ๋ก ๋ถ๋ฅด๊ฒ ๋ ๊ฒ์ด EMACS์ ์์์ด๋ค. ์ด๊ธฐ ๋ฒ์ ์ MIT AI Lab์์ ์ฐ์ด๋ PDP ๊ณ์ด ์ปดํจํฐ์์๋ง ์ธ ์ ์์๋ค.
์ดํ ๋ค๋ฅธ ๊ธฐ์ข ์ ์ฐ์ผ ์ ์๋๋ก ์ฝ๋๋ฅผ ๋ค์ ์ฐ๋ ๊ณผ์ ์์ SINE, EINE, ZWEI ๊ฐ์ ํธ์ง๊ธฐ๊ฐ ๋์๋๋ฐ, ์ด๋ค์ ํน์ง์ LISP ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ฌ์ก๋ค๋ ๊ฒ์ด์๋ค. ์ดํ LISP ์ธ์ด๋ ๋ชจ๋ Emacs ๋ฒ์ ์์ ์ฑ์ฉ๋์๊ณ ํ์ฌ๊น์ง๋ GNU Emacs๋ ๋๋จธ์ง ๋ณ์ข ๋ค์ ์ ๋ถ LISP ์ธ์ด ๊ธฐ๋ฐ์ผ๋ก ์๋ํ๋ค. 1981๋ ์ ๋๋์ด C๋ก ์ฐ์ฌ์ง Emacs๊ฐ UNIX์ ์ฐ์ด๊ธฐ ์์ํ๋๋ฐ ์ด ๋น์์๋ ์์ ์ํํธ์จ์ด๊ฐ ์๋์๋ค.
์คํจ๋จผ์ 1972~1974๋ ๋์ ์คํ ํผ๋์ AI Lab ์ ๋ฐฉ๋ฌธํ๋ฉด์ E๋ผ๋ ํธ์ง๊ธฐ๋ฅผ ์ ํ๊ฒ ๋๋๋ฐ, ์ด๊ฒ ๋ฐ๋ก WYSIWYG(What You See Is What You Get)๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์์๋ค. ์ฌ๊ธฐ์ ๋๋ ๋๋จธ์ง ์ดํ MIT๋ก ๋์์์ TECO์ ๋น์ทํ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ฒ ๋๊ณ , ํธ์๋ฅผ ์ํด ์ฌ๋ฌ ๋งคํฌ๋ก๋ฅผ ์ถ๊ฐํ๋ฉด์ ์ ์ ๋ถ๋ ค๋๊ฐ๊ธฐ ์์ํ๋ค. ์ดํ ๋งคํฌ๋ก๊ฐ ์ ์ ๋ง์์ง์ ๋ฐ๋ผ MACS๋ผ๋ ์์ด๊ฐ ์ฐ์ด๊ฒ ๋์๊ณ , Editing MACroS๋ผ๊ณ ์์ ์๋ก์ด ์ด๋ฆ์ผ๋ก ๋ถ๋ฅด๊ฒ ๋ ๊ฒ์ด EMACS์ ์์์ด๋ค. ์ด๊ธฐ ๋ฒ์ ์ MIT AI Lab์์ ์ฐ์ด๋ PDP ๊ณ์ด ์ปดํจํฐ์์๋ง ์ธ ์ ์์๋ค.
์ดํ ๋ค๋ฅธ ๊ธฐ์ข ์ ์ฐ์ผ ์ ์๋๋ก ์ฝ๋๋ฅผ ๋ค์ ์ฐ๋ ๊ณผ์ ์์ SINE, EINE, ZWEI ๊ฐ์ ํธ์ง๊ธฐ๊ฐ ๋์๋๋ฐ, ์ด๋ค์ ํน์ง์ LISP ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ฌ์ก๋ค๋ ๊ฒ์ด์๋ค. ์ดํ LISP ์ธ์ด๋ ๋ชจ๋ Emacs ๋ฒ์ ์์ ์ฑ์ฉ๋์๊ณ ํ์ฌ๊น์ง๋ GNU Emacs๋ ๋๋จธ์ง ๋ณ์ข ๋ค์ ์ ๋ถ LISP ์ธ์ด ๊ธฐ๋ฐ์ผ๋ก ์๋ํ๋ค. 1981๋ ์ ๋๋์ด C๋ก ์ฐ์ฌ์ง Emacs๊ฐ UNIX์ ์ฐ์ด๊ธฐ ์์ํ๋๋ฐ ์ด ๋น์์๋ ์์ ์ํํธ์จ์ด๊ฐ ์๋์๋ค.
4. GNU Emacs[ํธ์ง]
์์์ ์ธ๊ธํ 1981๋
๋ฒ์ ์ ์์ฉ์ด์๊ธฐ์ 1984๋
๋ฆฌ์ฒ๋ ์คํจ๋จผ์ Emacs๋ฅผ ์์ ์ํํธ์จ์ด๋ก ๋ง๋ค๋ ค ํ๋ค. 1981๋
์ ์์ฉ ๋ฒ์ ๊ณผ ๋ค๋ฅธ ์ ์ LISP ์์ง์ ์ค๋ฆฌ์ง๋๋ก ๊ต์ฒดํ์๊ณ ๊ฑฐ์ ๋ชจ๋ ์ฝ๋๋ฅผ ์๋ก ์ง ๋ฃ์ผ๋ฉด์ GNU๋ก์จ ์ต์ด์ ํ๋ก๊ทธ๋จ์ผ๋ก ๋์ค๊ฒ ๋๋ค. ์ดํ ์์ฉ ๋ฒ์ ๋ณด๋ค ๋ ๋ง์ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ฒ ๋์ด ๊ฒฐ๊ตญ์๋ ๋ค์ UNIX๋ก ๋์์ ์์ฉ ๋ฒ์ ์ ๋ฐ์ด๋ด๊ฒ ๋์๊ณ , UNIX์์ ์ฌ์ฉ๋๋ Emacs ํธ์ง๊ธฐ์ ๊ฐ์ฅ ๋ํ์ ์ธ ์๋ก ์๋ฆฌ์ก๊ฒ ๋๋ค. ์ดํ 1986๋
์ ๋ณด์ ํ์ ์ด ๋ฐ๊ฒฌ๋์ด ๋ฃจํธ ๊ณ์ ์ด ํธ๋ฆฌ๋ ์ฌ๊ฑด์ด ์ผ์ด๋ ํ 1999๋
๊น์ง ์ฑ๋น๊ณผ ์์ฅ ๋ชจ๋ธ์ ๋์
ํจ์ ๋ฐ๋ผ ๊ฐ๋ฐ์ด ์ง์ฒด๋๊ฒ ๋๋ค. ํ์ญ์ฌ ํ์ฌ๋ ์คํจ๋จผ์ด ์ง์ ๊ฐ๋ฐํ๋ ๊ฒ์ ์๋๊ณ ์ํ
ํ ๋ชจ๋์ด(Stefan Monnier)์ ์ ์ด๋(Chong Yidong)์๊ฒ ๋ฌผ๋ ค์ฃผ์๋ค.
5. ๋ณ์ข ๋ค[ํธ์ง]
5.1. XEmacs[ํธ์ง]
1991๋
์ ์์๋ ๊ฐ์ฅ ์ ๋ช
ํ Emacs ๋ณ์ข
์ผ๋ก, Lucid Inc.์์ GNU Emacs ์ํ 19 ๋ฒ์ ์ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐ๋์๋ค. ์ด์ฐฝ๊ธฐ์๋ Lucid Emacs๋ผ ๋ถ๋ฆฌ๋ค XEmacs๋ก ๋ฐ๋์๋ค. ํ์ฌ๋ GPLv2 ๋ผ์ด์ ์ค๋ฅผ ํตํด ๊ณต์ง๋ก ํ๋ ค ์๋ค. GNU Emacs ๊ฐ๋ฐ์ด ์ง์ฒด๋ ํ์ญ์ฌ๊ธฐ๊ฐ ์ค C++ IDE๋ฅผ ๋ง๋ค์ด์ผ ํ๋ ์
์ฅ์ ๋์ธ ๊ฐ๋ฐ์๋ค์ด ์ง์ ๊ฐ๋ฐํ ๊ฒ. ๋๋ถ์ ๊ฐ๋ฐ ๋น์์๋ GNU Emacs๋ณด๋ค ํจ์ฌ ๋ฏธ๋ คํ GUI ์ธํฐํ์ด์ค๋ฅผ ๊ฐ์ง๊ณ ์์๋ค. ์๋ Lucid Inc.์์ ๊ฐ๋ฐ๋์๊ธฐ ๋๋ฌธ์ ์ฒ์์๋ ๋น์ฐํ ์์ฉ์ด์์ผ๋ 1994๋
๋์ฐํ๋ ๋ฐ๋์ ๊ฒฐ๊ตญ ์คํ ์์ค ํ๋ก๊ทธ๋จ์ผ๋ก ์ ํํ๊ฒ ๋๋ค. ์ด๋ฆ์ XEmacs๋ก ๋ฐ๊พธ์๋๋ฐ X Window System๊ณผ๋ ์ ํ ๊ด๊ณ๊ฐ ์๊ณ , X๋ก ๋ถ์ธ ์ด์ ๋ ๋จ์ง ๋ ์ด์ Lucid๋ฅผ ๋ถ์ผ ์ด์ ๊ฐ ์์๊ธฐ ๋๋ฌธ.
์ญ์๋ GNU Emacs์ ๊ฐ์ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ๋ง์ ์ธ์ด๋ฅผ ์ง์(์ ์ด๋ ์ด๋ค ์ธ์ด๋ก ๋ฌธ์๋ฅผ ์์ฑ ๊ฐ๋ฅ)ํ๋ค. ๋ฌผ๋ก , Windows์ macOS ํ๋ซํผ์์๋ ๋๋ฆด ์ ์๋ค. Emacs Lisp ์ธ์ด๋ฅผ ์ด์ฉํด ์ฌ๋ฌ ๊ธฐ๋ฅ์ ๊ฑด๋๋ฆด ์ ์๋ค๋ ์ ๋ ๋์ผํ๋ค. ์ด๋ ๋ฏ์ด ๊ธฐ๋ฅ์ด ํก์ฌํ ๋งํผ GNU Emacs์ ์ ์๊ถ ๋ฌธ์ ๋ก ์๋๋ฌ์ ๋ ์ ์ด ์์ง๋ง ๋ญ, ์ด๊ฒ๋ ์ด์ ๋ ์คํ ์์ค์ธ๋ฐ... ์์์ ์ธ๊ธ๋์๋ฏ์ด XEmacs๋ ์๋ ๊ธฐ์ ์ฉ์ผ๋ก ๊ฐ๋ฐํ ๊ฒ. ๊ฒ๋ค๊ฐ ํ์ฌ XEmacs ์ฝ๋ ์ ๋ฐ์ ์ ์๊ถ์ ํ์ฌํ๋ ๊ณณ์ ๋ค๋ฆ ์๋ GNU. ๊ฒ๋ค๊ฐ ์ง๊ธ๋ GNU Emacs์ ์ฝ๋๋ฅผ ๊ณต์ ํ ์ ๋.
์ญ์๋ GNU Emacs์ ๊ฐ์ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ๋ง์ ์ธ์ด๋ฅผ ์ง์(์ ์ด๋ ์ด๋ค ์ธ์ด๋ก ๋ฌธ์๋ฅผ ์์ฑ ๊ฐ๋ฅ)ํ๋ค. ๋ฌผ๋ก , Windows์ macOS ํ๋ซํผ์์๋ ๋๋ฆด ์ ์๋ค. Emacs Lisp ์ธ์ด๋ฅผ ์ด์ฉํด ์ฌ๋ฌ ๊ธฐ๋ฅ์ ๊ฑด๋๋ฆด ์ ์๋ค๋ ์ ๋ ๋์ผํ๋ค. ์ด๋ ๋ฏ์ด ๊ธฐ๋ฅ์ด ํก์ฌํ ๋งํผ GNU Emacs์ ์ ์๊ถ ๋ฌธ์ ๋ก ์๋๋ฌ์ ๋ ์ ์ด ์์ง๋ง ๋ญ, ์ด๊ฒ๋ ์ด์ ๋ ์คํ ์์ค์ธ๋ฐ... ์์์ ์ธ๊ธ๋์๋ฏ์ด XEmacs๋ ์๋ ๊ธฐ์ ์ฉ์ผ๋ก ๊ฐ๋ฐํ ๊ฒ. ๊ฒ๋ค๊ฐ ํ์ฌ XEmacs ์ฝ๋ ์ ๋ฐ์ ์ ์๊ถ์ ํ์ฌํ๋ ๊ณณ์ ๋ค๋ฆ ์๋ GNU. ๊ฒ๋ค๊ฐ ์ง๊ธ๋ GNU Emacs์ ์ฝ๋๋ฅผ ๊ณต์ ํ ์ ๋.
5.2. ๋ค๋ฅธ ๋ณ์ข ๋ค[ํธ์ง]
์ฌ๋ฌ ๊ฐ์ง ๋ณ์ข
๋ค์ด ๋์๋๋ฐ, ์ผ๋ณธ์์ ์๋์ฐ์ฆ ๊ธฐ๋ฐ์ผ๋ก ์ ์๋ Meadow, XEmacs์ ์ฌ์์ SXEmacs, OS X ์ฉ์ผ๋ก ๊ฐ๋ฐ๋ Aquamacs๊ฐ ์ ๋ช
ํ๋ค. ์ด๊ฒ๋ค ์ธ์๋ ํด๋ก ๋ฒ์ ๋ค์ด ์ํ๋ฆฌ ์ฌํ๋ฅผ ๋ฐฉ๋ถ์ผ ํ ์ ๋๋ก ๋ง์ด ์ถ์๋์๋ค. ์ด๋ ๊ฒ ๋ ์ด์ ๋ ๋น์ Emacs ๊ฐ ๋์๊ฐ๋ ํ๊ฒฝ์ด ๋น๊ต์ ๊ณ ์ฌ์์ด์๊ธฐ ๋๋ฌธ. 32๋นํธ ์ฃผ์ ๊ณต๊ฐ๊ณผ 1๋ฉ๋น(MiB)๋ฐ์ดํธ[2]์ ๋จ์ ํ์๋ก ํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ ๋ช
ํ ๋ณ์ข
๋ค์ ๋ฆฌ์คํธ๋ ๋ค์๊ณผ ๊ฐ๋ค.
- Climacs: Common Lisp ์ธ์ด๋ฅผ ์ฐ๋๋ก ์์ ํ ๋ฒ์ .
- E3
- Edwin: MIT Scheme ์ ๊ธฐ๋ณธ ์๋ํฐ.
- Epsilon: ์ญ์๋ ๋ ๋ค๋ฅธ ํด๋ก . DOS, Windows, Linux, FreeBSD, macOS, OS/2 ๋ฑ ์ฌ๋ฌ ์ด์์ฒด์ ์ ์ฌ์ฉ๋ ์ ์๋๋ฐ Lisp ๋ง๊ณ ๋ C ์ธ์ด๋ก ์ง์ ์ต์คํ ์ ์ ์ ์ํ ์ ์๋ค.
- Freemacs: ๋์ค ๋ฒ์ ์ผ๋ก 64 ํฌ๋ก๋ฐ์ดํธ์ ๋ฉ๋ชจ๋ฆฌ์ ์๋ง๊ฒ ๊ณ ์น ๋ฒ์ .
- JED
- JOVE: ๋งคํฌ๋ก ํ๋ก๊ทธ๋๋ฐ์ด ๋ถ๊ฐ๋ฅํ ๋ฒ์ .
- Joe's Own Editor
- MINCE: CP/M์ ์ฐ์ด๋๋ก ์์ ํ ๋ฒ์ .
- Mg: ์๋ MicroGNUEmacs๋ก ๋ถ๋ ธ์ผ๋ GNU Emacs์์ ํผ๋์ ๋ง๊ธฐ ์ํด mg๋ก ๊ฐ๋ช . ํ์ฌ OpenBSD์ ๊ธฐ๋ณธ์ผ๋ก ๋ค์ด๊ฐ๋ค.
- MicroEMACS: ์ด๋ฆ๊ณผ ๊ฐ์ด ์ ์ฌ์(?) ์ปดํจํฐ์์ ๋์๊ฐ๋ ๊ฒ์ ๋ชฉ์ ์ผ๋ก ๊ฐ๋ฐ๋์๊ณ , ์ฌ๋ฌ ๊ฐ์ง ํ์ํ์ด ์กด์ฌํ๋ค. Emacs์ ๋นํ์ฌ ํ์ ํ๊ฒ ์ ์ ๊ธฐ๋ฅ๊ณผ ์ ์ ์ฉ๋์ด ํน์ง์ด๋ค. ์ฐธ๊ณ ๋ก ์ด ๋ถ๋ ์ด๊ฒ์ ๋ฏ์ด๊ณ ์ณ ์ฌ์ฉํ๊ณ ์๋ค๋ ๋ฏ.
- NotGNU: ๋์ค, ์๋์ฐ์ฆ, ๋ฆฌ๋ ์ค์ฉ์ผ๋ก ๊ฐ๋ฐ๋ ๊ฐ๋ฒผ์ด ๋ฒ์ .
- PceEmacs
- QEmacs: ์๋ฐฑ ๋ฉ๊ฐ ์ด์์ ํฐ ํ์ผ์ ์์ ํ ์ ์๋ UTF-8 ๊ธฐ๋ฐ์ Emacs
- Spacemacs: Vim ์ฌ์ฉ์๋ค์ ์ํด ๋ง๋ค์ด์ง Emacs. ๋ง์ ํจํค์ง๋ค์ด ๊ธฐ๋ณธ์ ์ผ๋ก ๊น๋ ค ์๋ค.
- Xyzzy: ์ผ๋ณธ์ฐ Emacs ํด๋ก . ์ฝ๋ฉ ์ข ํ๋ค๋ ์ผ๋ณธ ์์ง๋์ด๋ค์ ์๊ฑธ ์ฌ์ฉํ๋ค๋๋ฐ, ์ต๊ทผ์๋ ์ ๋ฐ์ดํธ ๋๊ณ ์์ง ์๋ค. ์ง์ํ๋ OS๋ Windows ๋ฟ์ด๋ค. ๋ค์ด๋ก๋ :https://bitbucket.org/mumurik/xyzzy/wiki/Home
- Yi: Haskell ์ธ์ด๋ก ์ฐ์ธ Emacs
- Zile
๋ฑ ๋ง์ด ์๋ค.
6. ํน์ง[ํธ์ง]
์ด๋งฅ์ค๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ
์คํธ ์๋ํฐ์ด๋ค. ์ฆ, ์๋ํ๋ก์ธ์์ ๋ฌ๋ฆฌ ํฐํธ ๊ธฐ๋ฐ์ ํ
์คํธ๋ฅผ ๋ค๋ฃจ๋ ๊ฒ์ด ์๋๊ณ , ๋
ธํธํจ๋์ฒ๋ผ ํ
์คํธ๋ฅผ ๋ค๋ฃฌ๋ค. ๊ธฐ๋ณธ์ ์ธ ํ
์คํธ ํธ์ง๊ธฐ ๊ธฐ๋ฅ ์ธ์๋ ๋จ์ด๋ ๋ฌธ์ฅ ๋จ์๋ก ํธ์งํ ์ ์๋ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์๊ณ , ์ฌํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๊ฐ๋ฐ ํ๊ฒฝ์์ ๋ณด์ด๋ ๊ตฌ๋ฌธ ๊ฐ์กฐ ๊ธฐ๋ฅ ๋ฐ ๋งคํฌ๋ก ๊ธฐ๋ฅ์ด ์กด์ฌํ๋ค. ๊ธฐ๋ฐ์ TECO ๊ฐ์ ๋ฌผ๊ฑด์ด์ง๋ง ์ฌ์ค์ ํ์ฌ ๋์ ์๋ ํ
์คํธ ํธ์ง๊ธฐ๋ค๊ณผ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ค๋ฅด์ง ์๋ค.
LISP์ dialect๋ก Emacs Lisp๋ผ๋ ์ปดํจํฐ๊ณตํ ์ ๊ณต์ด ์๋๋ฉด ๋ณดํต ์ ํ ์ผ์ด ์๋ ํน์ดํ ์ปดํจํฐ ์ธ์ด ์ธํฐํ๋ฆฌํฐ๋ฅผ ๋ด์ฅํ๊ณ ์์ด์, ๋ง์๋ง ๋จน์ผ๋ฉด ์ฌ๋ฌ ๊ฐ์ง ๊ฐ๋ ฅํ ๋งคํฌ๋ก๋ ๋ฌผ๋ก ์ฌ์ง์ด ๊ฒ์ ๊น์ง๋ ๋ง๋ค์ด ๋ฒ๋ฆด ์ ์๋ค. ์ธํฐํ๋ฆฌํฐ ๋ฐฉ์์ ์ฌ์ฉํจ์ ๋ฐ๋ผ ํ๋ก๊ทธ๋จ์ ์ฌ ์์ํ๊ฑฐ๋ ์ฌ ์ปดํ์ผํ ํ์ ์์ด ์๋ก์ด ๊ธฐ๋ฅ์ ๋ง์๊ป ๊ตฌํํ ์ ์๋ ๊ฒ์ด ํน์ง์ด๋ค. ์ด๋งฅ์ค๋ฅผ ํ์ฅํ๋ ๋ฐฉ๋ฒ์ ๋๋ต,
LISP์ dialect๋ก Emacs Lisp๋ผ๋ ์ปดํจํฐ๊ณตํ ์ ๊ณต์ด ์๋๋ฉด ๋ณดํต ์ ํ ์ผ์ด ์๋ ํน์ดํ ์ปดํจํฐ ์ธ์ด ์ธํฐํ๋ฆฌํฐ๋ฅผ ๋ด์ฅํ๊ณ ์์ด์, ๋ง์๋ง ๋จน์ผ๋ฉด ์ฌ๋ฌ ๊ฐ์ง ๊ฐ๋ ฅํ ๋งคํฌ๋ก๋ ๋ฌผ๋ก ์ฌ์ง์ด ๊ฒ์ ๊น์ง๋ ๋ง๋ค์ด ๋ฒ๋ฆด ์ ์๋ค. ์ธํฐํ๋ฆฌํฐ ๋ฐฉ์์ ์ฌ์ฉํจ์ ๋ฐ๋ผ ํ๋ก๊ทธ๋จ์ ์ฌ ์์ํ๊ฑฐ๋ ์ฌ ์ปดํ์ผํ ํ์ ์์ด ์๋ก์ด ๊ธฐ๋ฅ์ ๋ง์๊ป ๊ตฌํํ ์ ์๋ ๊ฒ์ด ํน์ง์ด๋ค. ์ด๋งฅ์ค๋ฅผ ํ์ฅํ๋ ๋ฐฉ๋ฒ์ ๋๋ต,
- ์ต์คํ ์ ์ ๋ด ์ ๋ง์ ๋ง๋๋ก ์์ , ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ. ์๋ฅผ ๋ค์ด ์์์ด๋ ๊ทธ๋ํฝ UI ๋ฑ์ ๋ฐ๊พธ๋ ๊ฒ๋ค์ด ๊ฐ๋ฅํ๋ค. ์ด ๊ฒฝ์ฐ, ๊ตณ์ด lisp ์ฝ๋๋ฅผ ์์ฑํ์ง ์๊ณ ์์ ํ๋ ๋ฐฉ๋ฒ๋ ์ ๊ณต๋๋ค.
- ํค์คํธ๋กํฌ๋ฅผ ๋ นํํ์ฌ ๋งคํฌ๋ก๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ.
- Emacs Lisp๋ฅผ ์ด์ฉํ์ฌ ์๋๋ก๋ฉ๋ค ์ค๋ฌ์ด ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ. ๋ณดํต ์ค์ ํ์ผ์ธ .emacs์ ๊ตฌํํ๊ฒ ๋๋๋ฐ ์ด ๋๋ถ์ ๋ณดํต Emacs ์ ์ฉ์๋ค์ ์ค์ ํ์ผ์ ์ฌ๋ฌ ๊ฐ๋ก ๋ถํ ๋์ด ์๋ฐฑ ์์ฒ์ค์ด ๋์ด๊ฐ๋ ๊ฒ ํน์ง์ด๋ค.
์ผ๋ก ๋๋ ์ ์๋ค. ๊ด๋ จ๋งํ
์ด๋ ๊ธฐ ๋๋ฌธ์ ๋ง๋ค์ด ๋ฃ๊ธฐ๋ง ํ๋ค๋ฉด ๋์ฒด๋ก ์ด๋งฅ์ค๋ก ๋ชป ํ๋ ๊ฒ์ ๋ฐ๊ฒฌํ๊ธฐ๊ฐ ์ด๋ ค์ธ ์ ๋์ธ๋ฐ, ๋๋ถ์ ํ ํ๋ก๊ทธ๋จ๋ค๊ณผ ์ฐ๋ํ์ฌ ๊ฑฐ์ ๋ฌดํ์ ๊ฐ๊น์ด ํ์ฅ์ฑ์ ์๋ํ๋ค. ์๋ฅผ ๋ค์ด, ํ๋ก๊ทธ๋๋ฐ์ ์ํ IDE(Integrated Development Environment)๋ฅผ ๊ตฌ์ฑํ ์๋ ์๊ณ , LaTeX ํ์ ์ธํ ์ ์ํ ํ๊ฒฝ์ ์กฐ์ฑํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค.
7. Emacs Lisp Package Archive, ELPA[ํธ์ง]
๋ฒ์ 24๋ถํฐ ๊ธฐ๋ณธ์ผ๋ก ํฌํจ๋ Emacs์ ํจํค์ง ๊ด๋ฆฌ ์์คํ
์ด๋ค. package-list-packages ๋ชจ๋์์ ๋๋ถ๋ถ ๊ฐ๋จํ๊ฒ ์ค์น/์ญ์ ๊ฐ ๊ฐ๋ฅํ๋ค.
๊ด๋ จ ๋งํฌ: http://emacswiki.org/emacs/ELPA
์ ๋ช ํ ์ ์ฅ์ ์ฃผ์ (๋๊ฐ ์ด ์ธ ๊ตฐ๋ฐ์ ์ ์ฅ์์ ์๋ ํจํค์ง๋ก Emacs๊ฐ ํ ์ ์๋ ๊ฑฐ์ ๋ชจ๋ ๊ฒ์ ๋ค ํ ์ ์๋ค.)
๊ด๋ จ ๋งํฌ: http://emacswiki.org/emacs/ELPA
์ ๋ช ํ ์ ์ฅ์ ์ฃผ์ (๋๊ฐ ์ด ์ธ ๊ตฐ๋ฐ์ ์ ์ฅ์์ ์๋ ํจํค์ง๋ก Emacs๊ฐ ํ ์ ์๋ ๊ฑฐ์ ๋ชจ๋ ๊ฒ์ ๋ค ํ ์ ์๋ค.)
- GnuELPA: http://elpa.gnu.org/packages/ (๊ธฐ๋ณธ์ผ๋ก ์กํ์๋ค)
- MELPA: http://melpa.milkbox.net/packages/
- Marmalade: https://marmalade-repo.org/packages/
์๋๋ ์ ๋ช ํ ํ์ฅ ๊ธฐ๋ฅ๋ค์ ๋์ดํ ๊ฒ์ด๋ค.
- AUCTeX
- Calc
- Calendar-mode
- Dissociated Press
- Dunnet: ๊ฒ์
- Ediff
- Emerge
- Emacs/W3: ์น ๋ธ๋ผ์ฐ์ !
- ERC: IRC ํด๋ผ์ด์ธํธ
- Gnus
- Magit
- MULE
- Org-mode
- Info
- Planner
- SES: ์คํ๋ ๋์ํธ...
- VM (View Mail): ์ด๋ฉ์ผ ํด๋ผ์ด์ธํธ
- Wanderlust
- EMMS: ๋น๋์ค ํ๋ ์ด์ด!!!
๋ฌผ๋ก ์ด ์ธ์๋ ์์ฒญ๋๊ฒ ๋ง๋ค... ๊ทธ๋ฆฌ๊ณ ์ด ์ค์์ AUCTeX์ Org-mode ๋ ๊ฐํ ์ด๋งฅ์ค์ ํฌ๋ฌ์ฑ์ด๋ผ ๋ด๋ ๋ ์ ๋๋ก ๋ง์ ๊ธฐ๋ฅ์ ๋ด์ฅํ๊ณ ์๊ณ , ํ๋ก๊ทธ๋๋ฐ์ด๋ ๋ค๋ฅธ ์ฉ๋๋ก ์ฐ์ง ์๋๋ผ๋ ์ ๊ฒ๋ง์ ์ํด ์ด๋งฅ์ค๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋๋ค๋ ์์ ์ ๋. Org-mode๋ ์ต์ํด์ง๋ฉด ์ํ์ ๋ชจ๋ ๊ธฐ๋ก์ Org-mode๋ฅผ ํตํด์ ํด๋ ๋ ์ ๋๋ก ํธํ๋ค. ๋จ ๋์ ์ง์ ์ฅ๋ฒฝ์ด ๋ฌธ์ . ๊ทผ๋ฐ ๊ธฐ๋ฅ์ด ๋ง์ ๋งํผ ๋ฐฐ์ฐ๊ธฐ๋ ์ด๋ ต๋ค.
8. ์ฑ๋ฅ[ํธ์ง]
์์์ ์ธ๊ธ๋์๋ค์ํผ ์ด์ฐฝ๊ธฐ์๋ ์๋นํ ๊ณ ์ฌ์์ ๋จธ์ ์ ์๊ตฌํ์ผ๋ฏ๋ก ์ฑ๋ฅ ์์ฒด๋ ํ
์คํธ ์๋ํฐ ์น๊ณ ๋ ๋ณ๋ก ์ข์ง ์์๋ค. ์ด๋งฅ์ค๊ฐ ๊ฐ๋ฐ๋ ์๊ธฐ๋ฅผ ์๊ฐํด๋ณด์. 1970๋
๋์ PC ์ฑ๋ฅ์ด๋ ๊ทธ์ผ๋ง๋ก ์์ต ๊ทธ ์์ฒด. ์ด๋ ์ฃผ๋ก Lisp ์ธํฐํ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํด์ผ ํ๊ธฐ ๋๋ฌธ์ธ๋ฐ ๋๋ถ์ Eight Megabytes And Constantly Swapping์ด๋ผ๋ ์ค๋ช
์ ์ป๊ธฐ๋ ํ ์ ๋์๋ค. ์ด ๋ํ ์ค์ด๋ฉด EMACS๊ฐ ๋๋ค. ๋ค๋ฅธ ํํ์ผ๋ก๋, Emacs Makes A Computer Slow, Eventually Mallocs All Computer Storage, Eventually Makes All Computers Sick์ด ์๋ค. ๊ทธ๋์ ํธ์ง๊ธฐ ์ ์ ํค๋ฐฐ๊ฐ ์ผ์ด๋๋ฉด ํญ์ ๊น์ด๋ ์์ธ์ด ๋๊ณ ๋ง์๋ค.
๊ทธ๋ฌ๋ ํ๋์จ์ด์ ๋ฐ์ ์ผ๋ก ์ด๋ฌํ ์ง์ ๋ค์ ๋ ์ด์ ์ ํจํ์ง ์๊ฒ ๋์๊ณ , ํ์ฌ ์ฌ์ฉ๋๋ GUI ์๋ํ๋ก์ธ์ ํน์ IDE ํ๋ก๊ทธ๋จ๋ค๊ณผ ๋น๊ตํ๋ฉด ํจ์ฌ ๋น ๋ฅด๊ฒ ๋ก๋ฉ๋๋ค. ๊ฒ๋ค๊ฐ vi์ ์ ์ ํ๊ณ์๋ผ ๋ณผ ์ ์๋ vim๋ ๊ธฐ๋ฅ์ ์ด๊ฑฐ์ ๊ฑฐ ์ถ๊ฐํ๋ค ๋ณด๋ ์ด๋งฅ์ค์ ์ฌ์ด์ฆ ์ธก๋ฉด์์ ๋น๊ฒฌ์ด ๊ฐ๋ฅํ ์ ๋๋ก ๋ถ์ด๋๊ฒ ๋์๋ค. ๋ค๋ง, ์ด๋งฅ์ค์ ๊ฒฝ์ฐ ์คํ ์ Elisp ์ค์ ํ์ผ์ ๋ถ๋ฌ์ค๋๋ฐ Elisp์ด ์๋๊ฐ ๋๋ฆฐ ํธ์ด๋ผ ์ค์ ํ์ผ์ด ์ข ๊ฑฐ๋ํ ๊ฒฝ์ฐ๋ ์คํ ์๊ฐ์ด ์ฌ์ ํ vim ์ ๋นํด ์๋นํ ๋จ์ด์ง๋ ํธ์ด๋ค. vim๋ ๋ฌผ๋ก ์ค์ ํ์ผ์ ๋ถ๋ฌ์ค๊ธด ํ์ง๋ง, ๊ฑฐ๋ํ ์ ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ธ Elisp์ ๋นํ๋ฉด ๋ง ๊ทธ๋๋ก ๊ทธ๋ฅ ์ค์ ํ์ผ ์์ค์ด๋ผ ์ค๋๋ ์ปดํจํฐ ๊ธฐ์ค์ผ๋ก ์๋์๋ ๊ฑฐ์ ์ํฅ์ด ์๋ค. 32๋นํธ ์์คํ ์์ ๊ฑฐ๋ํ ํ์ผ์ ๋ค๋ฃจ๋ ๋ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ๋ ํ๋๋ฐ, 23.2 ๋ฒ์ ์ด์ ์๋ ๊ณ ์ 256MB ์ ๋์ ํฌ๊ธฐ๋ง ๋ค๋ฃฐ ์ ์์๊ณ , ํ์ฌ๋ 512MB ์ ๋ ๋ฐ์๋ ๋ชป ๋ค๋ฃฌ๋ค. ๋ฌผ๋ก , 64๋นํธ ์์คํ ์์๋ ์ด๋ฌํ ๋ฌธ์ ๊ฐ ์๋ค. 1024PB๊ฐ ์ต๋ ํ๋.
๋ ํ OS์ ๋นํด Windows์์ ์ฑ๋ฅ์ด ๋จ์ด์ง๊ธฐ๋ ํ๋ค. ์ฃผ๋ก ํ ์คํธ ๋ ๋๋ง ๋ถ๋ถ์ด ๊ทธ๋ฌ๋ค ๋ณด๋ ์ ์ฌ์ ์ปดํจํฐ์์๋ ์คํฌ๋กคํ๋ค๊ฐ ๋ ์ด ์ฌํ๊ธฐ๋ ํ๋ค.
๊ทธ๋ฌ๋ ํ๋์จ์ด์ ๋ฐ์ ์ผ๋ก ์ด๋ฌํ ์ง์ ๋ค์ ๋ ์ด์ ์ ํจํ์ง ์๊ฒ ๋์๊ณ , ํ์ฌ ์ฌ์ฉ๋๋ GUI ์๋ํ๋ก์ธ์ ํน์ IDE ํ๋ก๊ทธ๋จ๋ค๊ณผ ๋น๊ตํ๋ฉด ํจ์ฌ ๋น ๋ฅด๊ฒ ๋ก๋ฉ๋๋ค. ๊ฒ๋ค๊ฐ vi์ ์ ์ ํ๊ณ์๋ผ ๋ณผ ์ ์๋ vim๋ ๊ธฐ๋ฅ์ ์ด๊ฑฐ์ ๊ฑฐ ์ถ๊ฐํ๋ค ๋ณด๋ ์ด๋งฅ์ค์ ์ฌ์ด์ฆ ์ธก๋ฉด์์ ๋น๊ฒฌ์ด ๊ฐ๋ฅํ ์ ๋๋ก ๋ถ์ด๋๊ฒ ๋์๋ค. ๋ค๋ง, ์ด๋งฅ์ค์ ๊ฒฝ์ฐ ์คํ ์ Elisp ์ค์ ํ์ผ์ ๋ถ๋ฌ์ค๋๋ฐ Elisp์ด ์๋๊ฐ ๋๋ฆฐ ํธ์ด๋ผ ์ค์ ํ์ผ์ด ์ข ๊ฑฐ๋ํ ๊ฒฝ์ฐ๋ ์คํ ์๊ฐ์ด ์ฌ์ ํ vim ์ ๋นํด ์๋นํ ๋จ์ด์ง๋ ํธ์ด๋ค. vim๋ ๋ฌผ๋ก ์ค์ ํ์ผ์ ๋ถ๋ฌ์ค๊ธด ํ์ง๋ง, ๊ฑฐ๋ํ ์ ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ธ Elisp์ ๋นํ๋ฉด ๋ง ๊ทธ๋๋ก ๊ทธ๋ฅ ์ค์ ํ์ผ ์์ค์ด๋ผ ์ค๋๋ ์ปดํจํฐ ๊ธฐ์ค์ผ๋ก ์๋์๋ ๊ฑฐ์ ์ํฅ์ด ์๋ค. 32๋นํธ ์์คํ ์์ ๊ฑฐ๋ํ ํ์ผ์ ๋ค๋ฃจ๋ ๋ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ๋ ํ๋๋ฐ, 23.2 ๋ฒ์ ์ด์ ์๋ ๊ณ ์ 256MB ์ ๋์ ํฌ๊ธฐ๋ง ๋ค๋ฃฐ ์ ์์๊ณ , ํ์ฌ๋ 512MB ์ ๋ ๋ฐ์๋ ๋ชป ๋ค๋ฃฌ๋ค. ๋ฌผ๋ก , 64๋นํธ ์์คํ ์์๋ ์ด๋ฌํ ๋ฌธ์ ๊ฐ ์๋ค. 1024PB๊ฐ ์ต๋ ํ๋.
๋ ํ OS์ ๋นํด Windows์์ ์ฑ๋ฅ์ด ๋จ์ด์ง๊ธฐ๋ ํ๋ค. ์ฃผ๋ก ํ ์คํธ ๋ ๋๋ง ๋ถ๋ถ์ด ๊ทธ๋ฌ๋ค ๋ณด๋ ์ ์ฌ์ ์ปดํจํฐ์์๋ ์คํฌ๋กคํ๋ค๊ฐ ๋ ์ด ์ฌํ๊ธฐ๋ ํ๋ค.
9. ํ๋ซํผ[ํธ์ง]
GUI ํํธ๋ฅผ ์ ์ธํ ์์ํ ์ด๋งฅ์ค๋ Elisp ์ธํฐํ๋ฆฌํฐ์ ์์์ primitive function ์ ๋๋ง C๋ก ๋ง๋ค์ด์ ธ ์์ผ๋ฉฐ, ๋๋จธ์ง๋ ์ ๋ถ ๊ทธ๊ฑธ ์ฌ์ฉํ๋ Elisp ์ฝ๋๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ๋ฐ๊ฟ ๋งํ๋ฉด C ์ธ์ด๊ฐ ์ง์๋๋ ํ๊ฒฝ์์ ์ด๋งฅ์ค๊ฐ ๋์๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ ์๋์ฐ๋ฅผ ๋น๋กฏํ ๋๋ถ๋ถ์ ํ๋ซํผ์ ๋ค C ์ธ์ด๊ฐ ์ง์๋๊ธฐ ๋๋ฌธ์ ํ์กดํ๋ ๊ฑฐ์ ๋ชจ๋ ์ด์์ฒด์ ๋ฅผ ์ง์ํ๋ค. ์ ๋์ค ๊ณ์ด ์์คํ
์ ๋ฌผ๋ก , ๋์ค, ์๋์ฐ์ฆ์์๋ ๊ตฌ๋์ํฌ ์ ์๋ ๋ฒ์ ์ด ์๋ค. ๋ํ, ํ
์คํธ ํฐ๋ฏธ๋์์ ๊ตฌ๋์ํฌ ์๋ ์๊ณ , GUI ํ๊ฒฝ์์ ๊ตฌ๋์ํฌ ์๋ ์๋ค๋ ํน์ฑ์ด ์๋ค. ๋ฐ๋๋ก ๊ฒฝ์์์ธ vi๋ gvim ๊ฐ์ GUI ๊ธฐ๋ฐ์ ํ์ํ์ด ๋์ค๊ธฐ ์ ๊น์ง๋ ํ
์คํธ ํฐ๋ฏธ๋์์๋ง ๊ตฌ๋ ๊ฐ๋ฅํ๊ณ , gvim์ ๊ฒฝ์ฐ๋ ๋ณ๊ฐ์ ํ๋ก๊ทธ๋จ์ผ๋ก ์ทจ๊ธํ๋ค. Unix ๊ณ์ด์ ํ๋ซํผ์์๋ X Window ์์คํ
์์ gtk ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ธฐ๋ฐ์ผ๋ก ์๋ํ๊ณ , OS X์์๋ Cocoa ๊ธฐ๋ฐ์ผ๋ก ์๋(ํ์ฌ 24.3 ๋ฒ์ )ํ๋ค. ๋ฌผ๋ก ์๋์ฐ์ฆ์์๋ ๋ค๋ฅธ GUI ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ ํ์ ์์ด ์ ์๋ํ๋ค. ์๋์ฐ์ฆ ๋ฒ์ ๊ฐ์ ๊ฒฝ์ฐ์๋ ์ธ์คํจ๋ ํ์๊ฐ ์๋ ํฌํฐ๋ธ ๋ฒ์ ์ด๋ค.
10. ์ง์ญํ[ํธ์ง]
์ง๊ตฌ์์ ๋ชจ๋ ์ธ์ด๋ฅผ ์ ๋ถ ์ฌ์ฉํ ์ ์๋ค. ์์ด๋ ๋ฌผ๋ก , ํ๊ตญ์ด, ์ค๊ตญ์ด, ํ๋ธ๋ฆฌ์ด, ํ๋ฅด์์์ด ๋ฑ์ ์ง์ํ๋ฉฐ, ์ด ์ธ์ด๋ค์ ์
๋ ฅ๊ธฐ๋ค๋ ์์ฒด์ ์ผ๋ก ์ ๊ณต์ ํ๊ณ ์์ผ๋ฉฐ, ispell์ด๋ผ๋ ๋ง์ถค๋ฒ ๊ฒ์ฌ ํ๋ก๊ทธ๋จ๊ณผ ์ฐ๋์ํค๋ฉด ๋ง์ถค๋ฒ ๊ฒ์ฌ๋ ๊ฐ๋ฅํ๋ค. ์ญ์ UTF-8์ ์ง์ํ๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ฌ๋ ํ ๊ฐ์ง ๋ฌธ์ ๋ ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก ์ฐ๋ ๋ฌธ์์ ๊ฒฝ์ฐ ํ์ฌ ์์ ๋ฒ์ ์์๋ ๋ฌธ์ ๊ฐ ์์ผ๋ bzr์ ์๋ ์ต์ ๋ฒ์ ์ ๋ฌธ์ ์๋ค.
๋ ํ ๊ฐ์ง ๋จ์ ์ ์ ์ ์ธํฐํ์ด์ค๊ฐ ์์ด๋ก ์ฐ์ฌ์ ธ ์์๊ณ , ํ์ฌ๊น์ง ์ง์ญํ๊ฐ ์ ๋์๋ค๋ ๊ฒ์ด๋ค. ๋ฌผ๋ก ํํ ๋ฆฌ์ผ๋ ์์ด๋ก ๋์ด ์์ผ๋ฏ๋ก ์ ๋๋ก ์ฌ์ฉํ๋ ค๋ฉด ์์ด ๊ณต๋ถ๊ฐ ํ์์ด์ง๋ง, ์ด๊ฑธ ์ฌ์ฉํ๋ ์ฌ๋๋ค ์ค์ ์ด ์ ๋ ์์ด๋ฅผ ํด์ํ์ง ๋ชป ํ๋ ์ฌ๋์ ์์ ๊ฒ์ด๋ค. ์งง์ ํํ ๋ฆฌ์ผ์ ํ๊ธํ๊ฐ ๋์ด ์๋ค. ํ์ง๋ง, ๋ณธ๊ฒฉ์ ์ธ ๋งค๋ด์ผ์ด ์์๋๋ ๋๋จธ์ง ๋ถ๋ถ์ ์ฃ๋ค ์์ด. ์ฌ์ค ๋ถ๋์ด ์ ๋ง ๋ง๊ธฐ ๋๋ฌธ์ ๋๊ตฐ๊ฐ ๋ฒ์ญ์ ํด ์ค๋ค๋ฉด ํ๊ตญ ์ด๋งฅ์ค ์ญ์ฌ์ ์ด๋ฆ์ด ๋จ์์ง๋ ๋ชจ๋ฅธ๋ค!
๋ค์ผ๋ก ์๊ฐ์ฅ์ ์ธ๋ค์ ์ํด ์ฒญ๊ฐ์ ์ผ๋ก ํผ๋๋ฐฑ์ ์ฃผ๋ ์ด๋งฅ์คํผํฌ(Emacspeak) ์์คํ ์ ์ง๋๊ณ ์๋ค.
๋ ํ ๊ฐ์ง ๋จ์ ์ ์ ์ ์ธํฐํ์ด์ค๊ฐ ์์ด๋ก ์ฐ์ฌ์ ธ ์์๊ณ , ํ์ฌ๊น์ง ์ง์ญํ๊ฐ ์ ๋์๋ค๋ ๊ฒ์ด๋ค. ๋ฌผ๋ก ํํ ๋ฆฌ์ผ๋ ์์ด๋ก ๋์ด ์์ผ๋ฏ๋ก ์ ๋๋ก ์ฌ์ฉํ๋ ค๋ฉด ์์ด ๊ณต๋ถ๊ฐ ํ์์ด์ง๋ง, ์ด๊ฑธ ์ฌ์ฉํ๋ ์ฌ๋๋ค ์ค์ ์ด ์ ๋ ์์ด๋ฅผ ํด์ํ์ง ๋ชป ํ๋ ์ฌ๋์ ์์ ๊ฒ์ด๋ค. ์งง์ ํํ ๋ฆฌ์ผ์ ํ๊ธํ๊ฐ ๋์ด ์๋ค. ํ์ง๋ง, ๋ณธ๊ฒฉ์ ์ธ ๋งค๋ด์ผ์ด ์์๋๋ ๋๋จธ์ง ๋ถ๋ถ์ ์ฃ๋ค ์์ด. ์ฌ์ค ๋ถ๋์ด ์ ๋ง ๋ง๊ธฐ ๋๋ฌธ์ ๋๊ตฐ๊ฐ ๋ฒ์ญ์ ํด ์ค๋ค๋ฉด ํ๊ตญ ์ด๋งฅ์ค ์ญ์ฌ์ ์ด๋ฆ์ด ๋จ์์ง๋ ๋ชจ๋ฅธ๋ค!
๋ค์ผ๋ก ์๊ฐ์ฅ์ ์ธ๋ค์ ์ํด ์ฒญ๊ฐ์ ์ผ๋ก ํผ๋๋ฐฑ์ ์ฃผ๋ ์ด๋งฅ์คํผํฌ(Emacspeak) ์์คํ ์ ์ง๋๊ณ ์๋ค.
11. ์ฌ์ฉ์ ์ ์[ํธ์ง]
vi์ ๋จํ ์ปค๋งจ๋๊ฐ ์ด๋งฅ์ค์์๋ ๋ฐฐ ์ด์์ผ๋ก ๋ถ์ด๋๋ ๊ฒ ๋๋ถ๋ถ์ด๊ธฐ ๋๋ฌธ์ vi์ ๋นํด ํธ์ง์ด ๋ถํธํ ๊ฒ์ ๊ธฐ์ ์ฌ์ค์ด๋ค. ํ์ง๋ง, ์ด๋งฅ์ค์์๋ vi์์ ๋ถ๊ฐ๋ฅํ ์๋ง์ ๊ฒ๋ค์ด ๊ฐ๋ฅํ๊ณ , ๊ทธ์ค ํ๋๊ฐ ์ ์ฐํ ์ฌ์ฉ์ ์ ์์ด๋ค. ์ผ๋จ ์ด๋งฅ์ค์์๋ ๋ชจ๋ ๋จ์ถํค๋ฅผ ๋ฐ๊พธ๋ ๊ฒ ๊ฐ๋ฅํ๋ค. ๋จ์ถํค ์์ค์ ๋์ด์ ์์ Extensible VI Layer(Evil) ๋ฑ๊ณผ ๊ฐ์ด vi ์คํ์ผ๋ก ๋ฐ๊ฟ ๋ฒ๋ฆฌ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ฉฐ, vi๋ฅผ ๋์ด์ ๋ณธ์ธ์๊ฒ ๋ง์ถค ํ์์ผ๋ก ๋ฐ๊ฟ ๋ฒ๋ฆฌ๋ ๊ฒ ์ญ์ ๊ฐ๋ฅํ๋ค. ํค๋ฅผ ๋ฐ๊พธ๋ ๊ฒ ์ธ์ ๊ธฐ์กด ๊ธฐ๋ฅ์ ์ด์ฉํ์ฌ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ณ ์ฌ๊ธฐ์ ๋จ์ถํค๋ฅผ ๋ถ์ด๋ ๊ฒ๋ ๋ฌธ์ ๊ฐ ์๋ค. ๋ํ, vi์์ ๊ตฌ๊ฒฝํ๊ธฐ ํ๋ , ๋ณดํต์ ์ธ๋ฐ์์ง๋ง ๋๊ตฐ๊ฐ์๊ฒ๋ ์ ์ฉํ ์ ์๋ ๋ณ์๋ณ ํฌํํ ๊ธฐ๋ฅ์ ๋ํดํธ๋ก ๋ค ํฌํจํ๊ณ ์๋ค. ์๋ฅผ ๋ค์ด ํ์ฌ ์ปค์๊ฐ ๊ฐ๋ฆฌํค๊ณ ์๋ ๋ฌธ์์ ํฐํธ์ ๋ํ ์ ๋ณด๋, ๋ฒํผ์์ ์ ํํ ๋ถ๋ถ๋ง ๋ฌธ์ ์ธ์ฝ๋ฉ์ ๋ฐ๊พธ๋ ๊ธฐ๋ฅ[3], ํ๋ฉด์ ๋ฌธ์๋ฅผ ๊ฐ์ง๊ณ ์ฅ๋์น๋ ๊ธฐ๋ฅ[4]๋ฑ์ ํฌํจํ์ฌ ์ด๋ฆฌ์ ๋ฆฌ ์ฐพ์๋ณด๋ฉด ๊ทธ์ผ๋ง๋ก lisp ํด์ปค๋ค์ ์์ฌ๋ ฅ์ ๋ณด์ฌ์ฃผ๋ ๋ฏํ ๊ธฐ๋ฅ๋ค์ด ๋์ณํ๋ฅธ๋ค.
๊ธฐ๋ณธ ์ค์ ์ ํฌํจํ์ฌ ์๊ฐ ์ปค์คํฐ๋ง์ด์ ์ด์ ์ Elisp ์ฝ๋๋ก ํ๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ณธ์ ์ธ Lisp ์ง์์ด ํ์ํ์ง๋ง, ์๋ ๋ง์ ๊ฒ๋ค์ด ์ด๋ฏธ ๋ด์ฅ ํจ์๋ก ์ ์๋์ด ์๊ธฐ ๋๋ฌธ์ Lisp์ ๊ธฐ๋ณธ์ ์ธ ๋ฌธ๋ฒ ์ ๋๋ง ์๋ ์์ค์ผ๋ก๋ ์๋นํ ์ ์ฉํ๊ฒ ๋ฏ์ด๊ณ ์น ์ ์์ผ๋ฉฐ, ํจํค์ง ์ ์ฅ์์์ ๋ค์ด ๋ฐ์ ํจํค์ง๋ ์ญ์ ๋์ผํ๊ฒ ์์ ์ด ๊ฐ๋ฅํ๋ค.
๋๋ถ์ vi๊ฐ ๋จ์ํ ํค์คํ ๋กํฌ ์์ค์ ์ค๋ ์ฑ์ ๋ณด์ด๋ ๋ฐ๋ฉด, ์ด๋งฅ์ค๋ Elisp์ด๋ผ๋ ๊ธ๋จ์ ์์ญ์ผ๋ก ๋ฐ์ ๋ค์ฌ ๋๊ฒ ๋๋ฉด ์ฌ์ฉํ ์๊ฐ์ ๋น๋กํ์ฌ ์ฉ๋๋ ์ํฌํ๋ก์ฐ ์์ฒด๊ฐ ์์ ์ผ๋ฐ์ ์ธ ํธ์ง๊ธฐ์ ์ธ๊ณ์๋ ์ ์ ๋ฉ์ด์ง๋ ๊ฒฝํฅ์ด ์๊ธด๋ค. ์ด ๋๋ฌธ์ ๊ณจ์ ์ด๋งฅ์ค ์ ์ ๋ค์๊ฒ๋ OS๋ ํ๋ซํผ์ ๊ทธ๋ฅ ํ๋์จ์ด์์ ์ด๋งฅ์ค๋ฅผ ์๋์์ผ ์ฃผ๋ ๋ฌด์ ์ ๋๋ก ์ ๋ฝํ๊ณ ๋ชจ๋ ๊ฒ์ ์ด๋งฅ์ค๋ก ์ฒ๋ฆฌํ๋ ๊ฒฝํฅ์ด ์๋ค.Q: ์๋์ฐ ์ธ๋, macOS ์ธ๋, ๋ฆฌ๋
์ค ์ธ๋? A: ์ด๋งฅ์ค๋ง ๋์๊ฐ๋ฉด ์๋ฌด๋๋ ์ข์...
๊ธฐ๋ณธ ์ค์ ์ ํฌํจํ์ฌ ์๊ฐ ์ปค์คํฐ๋ง์ด์ ์ด์ ์ Elisp ์ฝ๋๋ก ํ๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ณธ์ ์ธ Lisp ์ง์์ด ํ์ํ์ง๋ง, ์๋ ๋ง์ ๊ฒ๋ค์ด ์ด๋ฏธ ๋ด์ฅ ํจ์๋ก ์ ์๋์ด ์๊ธฐ ๋๋ฌธ์ Lisp์ ๊ธฐ๋ณธ์ ์ธ ๋ฌธ๋ฒ ์ ๋๋ง ์๋ ์์ค์ผ๋ก๋ ์๋นํ ์ ์ฉํ๊ฒ ๋ฏ์ด๊ณ ์น ์ ์์ผ๋ฉฐ, ํจํค์ง ์ ์ฅ์์์ ๋ค์ด ๋ฐ์ ํจํค์ง๋ ์ญ์ ๋์ผํ๊ฒ ์์ ์ด ๊ฐ๋ฅํ๋ค.
๋๋ถ์ vi๊ฐ ๋จ์ํ ํค์คํ ๋กํฌ ์์ค์ ์ค๋ ์ฑ์ ๋ณด์ด๋ ๋ฐ๋ฉด, ์ด๋งฅ์ค๋ Elisp์ด๋ผ๋ ๊ธ๋จ์ ์์ญ์ผ๋ก ๋ฐ์ ๋ค์ฌ ๋๊ฒ ๋๋ฉด ์ฌ์ฉํ ์๊ฐ์ ๋น๋กํ์ฌ ์ฉ๋๋ ์ํฌํ๋ก์ฐ ์์ฒด๊ฐ ์์ ์ผ๋ฐ์ ์ธ ํธ์ง๊ธฐ์ ์ธ๊ณ์๋ ์ ์ ๋ฉ์ด์ง๋ ๊ฒฝํฅ์ด ์๊ธด๋ค. ์ด ๋๋ฌธ์ ๊ณจ์ ์ด๋งฅ์ค ์ ์ ๋ค์๊ฒ๋ OS๋ ํ๋ซํผ์ ๊ทธ๋ฅ ํ๋์จ์ด์์ ์ด๋งฅ์ค๋ฅผ ์๋์์ผ ์ฃผ๋ ๋ฌด์ ์ ๋๋ก ์ ๋ฝํ๊ณ ๋ชจ๋ ๊ฒ์ ์ด๋งฅ์ค๋ก ์ฒ๋ฆฌํ๋ ๊ฒฝํฅ์ด ์๋ค.
12. ์ฌ์ฉ๋ฒ[ํธ์ง]
12.1. ๋ช ๋ น[ํธ์ง]
์ผ๋จ ์ด๋งฅ์ค๋ฅผ ์คํ์ํค๋ฉด ๋ฉ๋ชจ์ฅ๊ณผ ๋น์ทํ ๋๋์ผ๋ก ํธ์ง์ ์์ํ ์ ์๋ค. ์ํ์ผ๋ก ๋ฌธ์ ์
๋ ฅ, ๋ฐฉํฅํค๋ก ์ปค์ ์์ง์ด๊ธฐ, ๋ฐฑ์คํ์ด์ค๋ก ์ง์ฐ๊ธฐ ๋ฑ ์ ๋ถ ๋์ผํ๋ฉฐ ํค๋ณด๋๋ก ํน์ ๋ช
๋ น์ ์
๋ ฅํ๋ ค๋ฉด ์ฃผ๋ก ์ปจํธ๋กค ํค์ ๋ฉํ ํค ์กฐํฉ์ ์ด์ฉํ๋ค. ๊ณผ๊ฑฐ ํค๋ณด๋์์ Meta ํค๋ผ๋ ๊ฒ ์์์ผ๋, ์ค๋๋ ์ ๋น์ฐํ ์๊ณ Alt์ ESC๊ฐ Meta๋ก ๋งคํ์ด ๋์ด ์๋ค. ์ด ๋ช
๋ น์ ์
๋ ฅํ๋ ๋ฐฉ์์ด ์ฝ๊ฐ ์ฌ๋ฏธ์๋๋ฐ, ์๋ฅผ ๋ค์ด ์ ์ฅ์ ํ๋ ค๊ณ ํ๋ฉด Ctrl+x๋ฅผ ๋๋ฅธ ๋ค, Ctrl+s๋ฅผ ๋๋ฅด๋ฉด ๋๋ค. ์ด ๊ฒฝ์ฐ Ctrl ํค๋ฅผ ๊ทธ๋๋ก ๋๋ฅด๊ณ ์์ด๋ ์๊ด ์๋ค. ๊ธฐ๋ฅ์ด ์๋ ๋ง์์ง๋ค ๋ณด๋ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ๊ธฐ ์ํด ๋ง์น ๋์ ๊ฒฉํฌ ๊ฒ์ ์คํฌ ์ฌ์ฉํ๋ ๊ฒ์ฒ๋ผ ์ํ์
(?)ํ ์กฐํฉ์ ํ๋ ๋ฐฉ์์ด๋ค. ์ฌ์ฉํ๋ค ๋ณด๋ฉด ๊ฒ์ํ๋ ๊ธฐ๋ถ? ์ฌ์ค ์ด ๋ถ๋ถ์ด vi์์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ธ๋ฐ, vi์ ํธ์ง ๋ชจ๋์์ ๋จํ ํน์ ์ํ๋ก ๊ฐ๋ฅํ ๋ช
๋ น์ด ์ด๋งฅ์ค์์๋ ํ์๊ฐ 2๋ฐฐ ๊ฐ๊น๊ฒ ๋์ด๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ๋ค๊ฐ ๊ทธ ๊ฐ๊ฐ์ Ctrl/Meta ๊ฐ์ modifier ํค๊น์ง ์กฐํฉ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์์ ์ปค๋งจ๋ ์
๋ ฅ ๋ฐฉ์์ด ๋ถํธํด ๋ณด์ผ ์๋ ์๋ค.
12.2. ๋ฒํผ[ํธ์ง]
Buffer(๋ฒํผ)๋ผ๋ ๊ฐ๋
์ด ์๋๋ฐ, ํญ ๊ธฐ๋ฅ์ ๊ฐ์ง ํธ์ง๊ธฐ๋ฅผ ์๊ฐํ๋ฉด ๋๋ค. ๊ทธ๋ฌ๋ ์ด ๊ฐ๋
์ด ์ฝ๊ฐ ๋ ์ ๋์ ์ด๋ผ, ํ์ฌ ๋ฌธ์์ ์ํ ๋ฐ ์ปค์์ ์์น, ๋ช
๋ น์ด ์กฐํฉ ๋ฑ์ ๋ํ๋ด ์ฃผ๋ '๋ฏธ๋๋ฒํผ'๋ผ๋ ๋ถ๋ถ์ด ๋ฐ๋ก ์กด์ฌํ๋ค. ์ฌ๊ธฐ์ ๋ฌธ์ ์์
์ธ์ ์ปดํ์ผ์ด๋ ํ์
์ธํ
๋ช
๋ น์ ๋ด๋ฆฌ๋๊ฐ, ๊ฒ์ ํค์๋๋ฅผ ์
๋ ฅํ๋ ๋ฑ ์
์ถ๋ ฅ ์์
์ ํ๊ฒ ๋๋ค. ๋ ์ฌ๋ฏธ์๋ ๊ฒ์ Bash ์
ธ์ฒ๋ผ ๋ช
๋ นํ ์๋ ์์ฑ ๊ธฐ๋ฅ๊น์ง ์๋ค. ์ด๋ฅผ ๋ณผ ๋ ์ผ๋ง๋ ๋ณต์กํ ๋ช
๋ น์ด๋ค์ด ๋ง์ด ๋ค์ด์๋ ์ง ์ค๊ฐํ ์ ์์ ์ ๋์ด๋ค.
์ด๋งฅ์ค๋ ํ๋ ์(์ฐ๋ฆฌ๊ฐ ํํ ๋งํ๋ ์๋์ฐ/์ฐฝ๊ณผ ๋์ผ)๊ณผ ๊ทธ ์์ ์๋์ฐ๋ก ๊ตฌ์ฑ๋์ด ์์ด์, ํ ํ๋ ์์ ์ฌ๋ฌ ์๋์ฐ๋ก ๋ถํ ํ์ฌ ์ฌ์ฉํ ์ ์๋๋ฐ, ๋ฒํผ๋ ์ด๋ฌํ ์๋์ฐ์ ํ์ํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค. ์ต๊ทผ ํธ์ง๊ธฐ์ ๋น๊ตํ๋ฉด ํญ ๊ธฐ๋ฅ๊ณผ ์ ์ฌํ๋ค๊ณ ๋ณผ ์ ์๋ค๋ง, ํ๋ ์์ ๋๋ ์ ์ฌ์ค์ ๋ ๋ฌธ์๋ฅผ ๋์์ ํธ์งํ๊ฑฐ๋, ํ ๋ฌธ์๋ฅผ ๋ถ๋ถ ๋ถ๋ถ ๋๋์ด ํธ์งํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค. ์ฌ์ง์ด ํ ๋ฒํผ๋ ๋ฌธ์๋ฅผ ํด ๋๊ณ , ๋๋จธ์ง๋ ์ค์ ๋ฉ๋ด๋ฅผ ์ด๊ณ , ๋ง์ง๋ง ๋ฒํผ๋ ํ์ฌ ๋๋ฆฌ๊ณ ์๋ ํ๋ก๊ทธ๋จ์ ๊ฒฐ๊ณผ๋ฌผ์ ์ถ๋ ฅํ๋ ๋ฑ ๋ค์ค ์์ ์ ํ ์ ์๋ค. ์์ฆ์๋ ์ผ๋ฐ์ ์ธ ์ผ์ด์ง๋ง ์์ ์ธ๊ธํ๋ ๊ฒ๊ณผ ๊ฐ์ด 1MB๊ฐ ์ด ๊ณ ์ฌ์์ด์์ ์๊ธฐ์๋ ๊ทธ์ผ๋ง๋ก ์ถฉ๊ฒฉ๊ณผ ๊ณตํฌ์ ๊ธฐ๋ฅ์ด์๋ค ํ ์ ์๋ค. ๋ฌผ๋ก ์ง๊ธ์ vim๋ ์ง์ํ๋ค.
์ด๋งฅ์ค๋ ํ๋ ์(์ฐ๋ฆฌ๊ฐ ํํ ๋งํ๋ ์๋์ฐ/์ฐฝ๊ณผ ๋์ผ)๊ณผ ๊ทธ ์์ ์๋์ฐ๋ก ๊ตฌ์ฑ๋์ด ์์ด์, ํ ํ๋ ์์ ์ฌ๋ฌ ์๋์ฐ๋ก ๋ถํ ํ์ฌ ์ฌ์ฉํ ์ ์๋๋ฐ, ๋ฒํผ๋ ์ด๋ฌํ ์๋์ฐ์ ํ์ํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค. ์ต๊ทผ ํธ์ง๊ธฐ์ ๋น๊ตํ๋ฉด ํญ ๊ธฐ๋ฅ๊ณผ ์ ์ฌํ๋ค๊ณ ๋ณผ ์ ์๋ค๋ง, ํ๋ ์์ ๋๋ ์ ์ฌ์ค์ ๋ ๋ฌธ์๋ฅผ ๋์์ ํธ์งํ๊ฑฐ๋, ํ ๋ฌธ์๋ฅผ ๋ถ๋ถ ๋ถ๋ถ ๋๋์ด ํธ์งํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค. ์ฌ์ง์ด ํ ๋ฒํผ๋ ๋ฌธ์๋ฅผ ํด ๋๊ณ , ๋๋จธ์ง๋ ์ค์ ๋ฉ๋ด๋ฅผ ์ด๊ณ , ๋ง์ง๋ง ๋ฒํผ๋ ํ์ฌ ๋๋ฆฌ๊ณ ์๋ ํ๋ก๊ทธ๋จ์ ๊ฒฐ๊ณผ๋ฌผ์ ์ถ๋ ฅํ๋ ๋ฑ ๋ค์ค ์์ ์ ํ ์ ์๋ค. ์์ฆ์๋ ์ผ๋ฐ์ ์ธ ์ผ์ด์ง๋ง ์์ ์ธ๊ธํ๋ ๊ฒ๊ณผ ๊ฐ์ด 1MB๊ฐ ์ด ๊ณ ์ฌ์์ด์์ ์๊ธฐ์๋ ๊ทธ์ผ๋ง๋ก ์ถฉ๊ฒฉ๊ณผ ๊ณตํฌ์ ๊ธฐ๋ฅ์ด์๋ค ํ ์ ์๋ค. ๋ฌผ๋ก ์ง๊ธ์ vim๋ ์ง์ํ๋ค.
13. ๋นํ[ํธ์ง]
13.1. RSI[ํธ์ง]
RSI(Repetitive Stress Injury)๋ ๋ฐ๋ณต ์ฌ์ฉ ๊ธด์ฅ์ฑ ์์ ์ฆํ๊ตฐ์ด๋ผ๋ ํ ์ข๋ฌดํ ์ด๋ฆ์ ๊ฐ์ง ์ง๋ณ์ผ๋ก, ์ ์์ ๋ ํ์ดํ ์์
์ ๋ง์ด ํ ์ฌ๋์ ์๊ฐ๋ฝ์, ํนํ ์์ง์๊ฐ๋ฝ ๋ฑ์ ๊ฐํ ์๊ฐ๋ฝ๋ณด๋ค๋ ์๋ผ์๊ฐ๋ฝ ๋ฑ ์ฝํ ์๊ฐ๋ฝ์ ์์ฃผ ๋ฐ์ํ๋ค. Esc-meta-alt-ctrl-shift ๋ผ๋ ์ด๋ช
์ ๊ฐ์ง ์ด๋งฅ์ค๊ฐ ์ด ์์ธ์ด ๋ ์ ์๋ค๋ ๋นํ์ด ๋ง๋ค. ์ ํค๋ค ๋๋ถ๋ถ์ ์๋ผ์๊ฐ๋ฝ์ผ๋ก ๋๋ฅด๊ธฐ ์ฌ์ด ์์น์ ์๊ณ , ์ค์ ๋ก ์ด๋งฅ์ค์ ๋๋ถ์ธ ์คํจ๋จผ๋ ์ด ์ง๋ณ์ผ๋ก ๊ณ ์ ์ค์ด๋ค(์ด๊ฒ ๊ฐ์ฅ ํ๊ฒฉ์ด ์ปธ๋ค). ์ด๋งฅ์ค๊ฐ ์ฒ์ ๊ฐ๋ฐ๋ ๋น์ ํค๋ณด๋๋ Ctrl ํค๊ฐ ์คํ์ด์ค ๋ฐ ๋ฐ๋ก ์์ ์์นํ์ฌ ์์๋ค. ์ด๋งฅ์ค์ ๋ช
๋ น๋ค์ด ๋๋ถ๋ถ Ctrl ํค๋ฅผ ๋๋ฐํ๋ ๊ฒ์ด ์ด๊ฒ ๋๋ฌธ์ธ๋ฐ, ๋ฌธ์ ๋ ํ์ฌ ๋ง์ด ์ฌ์ฉ๋๋ IBM PC ํค๋ณด๋์ ๊ฒฝ์ฐ Ctrl ํค๊ฐ ๋๋ถ๋ถ ๋์ชฝ์ ์์นํด ์๊ฐ๋ฝ์ ์ซ ํด์ผ ํ๋ ๋จ์ ์ด ์กด์ฌํ๋ค. ๋๋ถ์ ์๋ผ์๊ฐ๋ฝ์ด ๋ง์ด ๊ณ ์ํ๋๋ฐ[5], ์ด ๋๋ฌธ์ Caps lock ํค๋ฅผ Ctrl ํค๋ก ๋งคํํ๋ ๊ธฐ๋ฅ์ด ์กด์ฌํ๋ค. ๋ค๋ง, MacOS ๋ฒ์ ์ ๊ฒฝ์ฐ ์์ฃผ ์ฌ์ฉ๋๋ ๋ช
๋ น์ ๋งฅ ํค๋ณด๋ ์คํ์ด์ค ๋ฐ ๋ฐ๋ก ์์ ์๋ Command ํค์ ๋งคํํ๊ธฐ ๋๋ฌธ์ ์ด๋ฐ ๋ฌธ์ ๊ฐ ์ ๋ค. ๊ทธ๋ฌ๋ ํ์ฅ ๋ช
๋ น์ ๊ฒฝ์ฐ ์์งค ์์ด Ctrl ํค ์กฐํฉ์ ์จ์ผ ํ๋ ๊ทธ๊ฒ ๊ทธ๊ฑฐ...
ํ์ง๋ง, ์ฌ์ค ์ด๋ ์ด๋งฅ์ค๋ง์ ๋ฌธ์ ๋ ์๋๊ณ ํ์ฌ IBM ํค๋ณด๋ ๋ฐฐ์ด ์์ฒด๊ฐ ๊ตณ์ด ์ด๋งฅ์ค๊ฐ ์๋๋๋ผ๋ ์์ฃผ ์ฐ๋ ํค๋ค์ ์๋ผ์๊ฐ๋ฝ์ผ๋ก ๋๋ฅด๊ธฐ ์ข์ ์์น์ ๋ฐฐ์ดํ์ฌ ์ธ์ฒด๊ณตํ์ ์ผ๋ก ๋งค์ฐ ์ข์ง ๋ชปํ ๋ฐฐ์ด์ ๊ฐ๊ณ ์๋ ๊ฒ์ด ์ง์ ํ ์์ธ์ด๋ค. ์ด๋งฅ์ค๋ ์ด๊ฒ์ ๊ฐ์ํํ๋ ์ ๋๋ผ๊ณ ๋ณด๋ ๊ฒ์ด ์ณ๋ค. ์์ฆ์ ์ ๋ฐ ์์ฃผ ์ฐ์ด๋ ํค๋ค์ ์ค์์ผ๋ก ๋ชฐ์ ์์ง์๊ฐ๋ฝ ์์น์ ๋ฐฐ์ดํ ์ธ์ฒด๊ณตํ ํค๋ณด๋๋ค๋ ์์ผ๋ฉฐ๋ค๋ง ๊ฐ๊ฒฉ์ด ํ ์ข๋ฌด, ๋ช๋ช ์ด๋งฅ์ค ์ ์ ๋ค์ ์ค๋ฅธ๋ฐ ์ผ๋ฐ ์์น์ ํ๋ฌ์ ๋ฐฐ์นํ์ฌ Alt, Ctrl์ ๋งคํํ์ฌ ์ฐ๊ธฐ๋ ํ๋ค.๋๋ผ์ ๋ฐฐ์ฐ์. ํ
์คํธ๋ฅผ ํธํ๊ฒ ํธ์งํ๊ณ ์ถ์ผ๋ฉด ์ฃผ๋ณ๊ธฐ๊ธฐ๋ฅผ ์ฌ๋ผ๊ณ ! ๊ฒฐ๊ตญ ๋พฐ์กฑํ ํด๊ฒฐ์ฑ
์ด ์๋ค๊ธฐ๋ณด๋ค๋ ์ ๊ธฐ์ ์ธ ์คํธ๋ ์นญ, ์ํ ์ต๊ด, ๊ทธ๋ฆ๊ณ ๊ฐ์ธ์ ์ธ ๊ผผ์์ ์์ญ์ ๋งก๊ธธ ์ ๋ฐ์ ์๋ ๋ถ๊ฐํผํ ๋ฌธ์ .
์ ๋ Ctrl, Alt, Shift ๋ฑ์ ๋ง์ด ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ด๋งฅ์ค๋ฅผ ์ฃผ๋ ฅ ํธ์ง๊ธฐ๋ก ์ธ ์๊ฐ์ด ์์ ๊ฒฝ์ฐ, ์ฌ๋งํ๋ฉด ์ ํค๋ค์ ์์ง ์์น๋ก ๋บ ์ธ์ฒด๊ณตํ ํค๋ณด๋๋ฅผ ์ฅ๋งํ๋ ๊ฒ์ด ์ข๋ค. ํค๋ค์์ค, ๋งํธ๋ก ๋ฑ๊ณผ ๊ฐ์ด ์ ํต์ ์ธ ๊ณ ๊ฐ์ ๋ชจ๋ธ๋ ์๊ณ , ์ต๊ทผ Truly Ergonomic ๊ฐ์ ๊ฒฝ์ฐ๋ Ctrl, Alt, Shift๊ฐ ๋ฐ๊นฅ์ชฝ์ ์๊ธด ํ์ง๋ง ํค๋งต์ผ๋ก ๊ฐ๋จํ ๊ฐ์ด๋ฐ ๋์ด๋ ํค์ ๋ฐ๊ฟ ์ ์๋ค. ์ผ๋ฐ์ ์ธ ํค๋ณด๋์ ๊ฒฝ์ฐ ํ๋ฌ์ ์ฅ๋งํ๋ ๊ฒ๋ ๊ฒฐ์ฝ ๋์์ง ์์ ์ ํ์ด๋ค. ํ๋ฌ์ ์ ์ง ๋ชจ๋ฅด๊ฒ ๊ฑฐ๋ถ๊ฐ์ด ๋ค๊ธด ํ์ง๋ง, ์ฌ์ค ๊ณ ๊ฐ์ ์ธ์ฒด๊ณตํ ํค๋ณด๋๋ณด๋ค ํค๊ฐ ์ข์ ์ผ๋ฐ๋ฐฐ์ด ํค๋ณด๋์ ํ๋ฌ์ด ๋ ๋์ ์ ํ์ด๋ค. ์๋ฅผ ๋ค์ด C-u C-x C-e ๊ฐ์ ๋ช ๋ น์ ๋ด๋ฆด ๋ ์๋ฌด๋ฆฌ ํค๋ฐฐ์น๊ฐ ์ข๋ค๊ณ ํด๋ ์๊ฐ๋ฝ ํ๋๊ฐ Ctrl์ ๋๋ฅด๊ณ ์๋ค ๋ณด๋ฉด ๋ถํธํด์ง๋๋ฐ, ํ๋ฌ์ Ctrl ์ ์ง์ ํ๋ค๋ฉด ๊ทธ๋ฅ ๋ฐ์ ์ํ์์ u x e๋ง ๋๋ฌ์ฃผ๋ฉด ๋๋ค. ๋จ์ถํค ํธ์์ฑ์ด ๊ฑฐ์ vi์ ๊ทผ์ ํ๋ ์์ค์ผ๋ก ํฅ์๋๊ณ ํ ์์ผ๋ก๋ ๋ณต์กํ ๋ช ๋ น์ ๊ฐ๋จํ ์น ์ ์๊ฒ ๋๋ค.
ํ์ง๋ง, ์ฌ์ค ์ด๋ ์ด๋งฅ์ค๋ง์ ๋ฌธ์ ๋ ์๋๊ณ ํ์ฌ IBM ํค๋ณด๋ ๋ฐฐ์ด ์์ฒด๊ฐ ๊ตณ์ด ์ด๋งฅ์ค๊ฐ ์๋๋๋ผ๋ ์์ฃผ ์ฐ๋ ํค๋ค์ ์๋ผ์๊ฐ๋ฝ์ผ๋ก ๋๋ฅด๊ธฐ ์ข์ ์์น์ ๋ฐฐ์ดํ์ฌ ์ธ์ฒด๊ณตํ์ ์ผ๋ก ๋งค์ฐ ์ข์ง ๋ชปํ ๋ฐฐ์ด์ ๊ฐ๊ณ ์๋ ๊ฒ์ด ์ง์ ํ ์์ธ์ด๋ค. ์ด๋งฅ์ค๋ ์ด๊ฒ์ ๊ฐ์ํํ๋ ์ ๋๋ผ๊ณ ๋ณด๋ ๊ฒ์ด ์ณ๋ค. ์์ฆ์ ์ ๋ฐ ์์ฃผ ์ฐ์ด๋ ํค๋ค์ ์ค์์ผ๋ก ๋ชฐ์ ์์ง์๊ฐ๋ฝ ์์น์ ๋ฐฐ์ดํ ์ธ์ฒด๊ณตํ ํค๋ณด๋๋ค๋ ์์ผ๋ฉฐ
์ ๋ Ctrl, Alt, Shift ๋ฑ์ ๋ง์ด ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ด๋งฅ์ค๋ฅผ ์ฃผ๋ ฅ ํธ์ง๊ธฐ๋ก ์ธ ์๊ฐ์ด ์์ ๊ฒฝ์ฐ, ์ฌ๋งํ๋ฉด ์ ํค๋ค์ ์์ง ์์น๋ก ๋บ ์ธ์ฒด๊ณตํ ํค๋ณด๋๋ฅผ ์ฅ๋งํ๋ ๊ฒ์ด ์ข๋ค. ํค๋ค์์ค, ๋งํธ๋ก ๋ฑ๊ณผ ๊ฐ์ด ์ ํต์ ์ธ ๊ณ ๊ฐ์ ๋ชจ๋ธ๋ ์๊ณ , ์ต๊ทผ Truly Ergonomic ๊ฐ์ ๊ฒฝ์ฐ๋ Ctrl, Alt, Shift๊ฐ ๋ฐ๊นฅ์ชฝ์ ์๊ธด ํ์ง๋ง ํค๋งต์ผ๋ก ๊ฐ๋จํ ๊ฐ์ด๋ฐ ๋์ด๋ ํค์ ๋ฐ๊ฟ ์ ์๋ค. ์ผ๋ฐ์ ์ธ ํค๋ณด๋์ ๊ฒฝ์ฐ ํ๋ฌ์ ์ฅ๋งํ๋ ๊ฒ๋ ๊ฒฐ์ฝ ๋์์ง ์์ ์ ํ์ด๋ค. ํ๋ฌ์ ์ ์ง ๋ชจ๋ฅด๊ฒ ๊ฑฐ๋ถ๊ฐ์ด ๋ค๊ธด ํ์ง๋ง, ์ฌ์ค ๊ณ ๊ฐ์ ์ธ์ฒด๊ณตํ ํค๋ณด๋๋ณด๋ค ํค๊ฐ ์ข์ ์ผ๋ฐ๋ฐฐ์ด ํค๋ณด๋์ ํ๋ฌ์ด ๋ ๋์ ์ ํ์ด๋ค. ์๋ฅผ ๋ค์ด C-u C-x C-e ๊ฐ์ ๋ช ๋ น์ ๋ด๋ฆด ๋ ์๋ฌด๋ฆฌ ํค๋ฐฐ์น๊ฐ ์ข๋ค๊ณ ํด๋ ์๊ฐ๋ฝ ํ๋๊ฐ Ctrl์ ๋๋ฅด๊ณ ์๋ค ๋ณด๋ฉด ๋ถํธํด์ง๋๋ฐ, ํ๋ฌ์ Ctrl ์ ์ง์ ํ๋ค๋ฉด ๊ทธ๋ฅ ๋ฐ์ ์ํ์์ u x e๋ง ๋๋ฌ์ฃผ๋ฉด ๋๋ค. ๋จ์ถํค ํธ์์ฑ์ด ๊ฑฐ์ vi์ ๊ทผ์ ํ๋ ์์ค์ผ๋ก ํฅ์๋๊ณ ํ ์์ผ๋ก๋ ๋ณต์กํ ๋ช ๋ น์ ๊ฐ๋จํ ์น ์ ์๊ฒ ๋๋ค.
13.2. ๋ชจ๋ฌ ํธ์ง๊ธฐ[ํธ์ง]
์ด๋งฅ์ค ์ ์ ๋ค์ vi๋ฅผ ๋ถํธํ๊ฒ ๋ชจ๋๋ค์ด ์กด์ฌํ๋ ๋ชจ๋ฌํธ์ง๊ธฐ๋ผ๋ฉฐ ๋นํํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ค. ํ์ง๋ง ์ค์์ ๋ณด๋ฉด ์ด๋งฅ์ค๋ ์ฌ๊ธฐ์ ๊ทธ๋ค์ง ์์ ๋กญ์ง ๋ชปํ๋ค. ์ด๋งฅ์ค์ ๊ฒฝ์ฐ ์์ฃผ ์ฌ์ฉํ๋ ๋ช๋ช ๋ช
๋ น์ด๋ค์ ์ ์ธํ๋ฉด C-x, C-u, C-c, M-x ๋ฑ์ผ๋ก ์์ํ๋ ๊ฒ๋ค์ด ๋ง๋ค. ์ด๋ ์ฌ์ค ์ด์ฉ ์ ์๋ ๊ฒ์ด, ์ด๋งฅ์ค๊ฐ ์ ๊ณตํ๋ ๋ช
๋ น์ด๋ ์์ฒ ๊ฐ ๋จ์์ธ๋ฐ, ์ผ๋ฐ์ ์ผ๋ก ํค๋ณด๋์์ ๋๋ฅผ ์ ์๋ ํค๋ 100์ฌ ๊ฐ ์ ๋๊ฐ ์ ๋ถ์ด๊ณ , ๊ทธ๊ฒ๋ ๋ช
๋ น์ด๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ํค๋ง ๋ฐ์ ธ๋ณด๋ฉด ๋ช ๊ฐ ๋์ง๋ ์๋๋ค. ๊ทธ๋ฌ๋ ์ ๋ฐ ์์ ์กฐํฉ์ด ๋ฐ๋์ ํ์ํด์ง๋ค. ๋ฌธ์ ๋ ๊ทธ๋ฐ ์์ผ๋ก ๋ณด๋ฉด ๋ค๋ฅธ ๋ช
๋ น์ด๋ฅผ ์ํด ๋๋ฌ์ค์ผ ํ๋ C-x ๊ฐ์ ํค๋ ์ฌ์ค์ vi์์์ normal mode๋ก ์ง์
ํ๊ฒ ํด ์ฃผ๊ณ , ๋ช
๋ น์ด ์
๋ ฅ ํ insert mode๋ก ์๋์ผ๋ก ๋น ์ ธ๋๊ฐ๊ฒ ํด์ฃผ๋ ํค๋ผ๊ณ ๋ณผ ์ ์๊ฒ ๋๋ค. ๊ฒฐ๊ตญ, ์ด๋ฐ ๊ด์ ์์๋ vi๋ normal mode๊ฐ ๊ธฐ๋ณธ๊ฐ์ธ ๋ชจ๋ฌ ํธ์ง๊ธฐ, ์ด๋งฅ์ค๋ insert mode๊ฐ ๊ธฐ๋ณธ๊ฐ์ธ ๋ชจ๋ฌ ํธ์ง๊ธฐ๋ผ ํด๋ ํ ๋ง ์๋ค.
13.3. ์ปค์์ด๋[ํธ์ง]
vi์ ์ฑ๊ณต์ ํ์ ์ค์ฌ์๋ hjkl ๋ก ์ปค์๋ฅผ ์ด๋ํ๋ ๊ฒ์ด ์์๋ค. ์ฆ, ์ปค์๋ฅผ ์ด๋ํ๊ณ ๋ค์ ํ์๋ฅผ ์น๊ณ ํ ๋ ์ค๋ฅธ์์ด ๋ฐ์๊ฒ ํค๋ณด๋ ๊ฐ์ฅ์๋ฆฌ์ ์ปค์ ํค์ ์ค์ฌ์ผ๋ก ์๋ค๊ฐ๋ค ํ ํ์๊ฐ ์๋ค๋ ๊ฒ์ด ํฐ ์ฅ์ ์ผ๋ก ์ฌ๊ฒจ์ก๋ค. ์ด๋งฅ์ค๋ ํค๋ณด๋ ์ค์ฌ์์ ์ปค์ ํค๋ฅผ ์ด๋ํ๋ ๋ฐฉ์์ ์ ๊ณตํ๋๋ฐ... C-n, C-p, C-f, C-b๊ฐ ๊ทธ๊ฒ์ด๋ค. ๋ณด๋ฉด ์๊ฒ ์ง๋ง, ์๊ฐ๋ฝ ๋ฐฐ์ด์ ์ ํ ์๊ฐํ์ง ์๊ณ '์๋ฏธ' ์์ฃผ๋ก ๋ง๋ค์ด์ง ๋ฐฐ์น์ด๋ค.(next, previous, forward, backward) ์ด๋งฅ์ค ํํ ๋ฆฌ์ผ์ ์ด๊ฒ์ด ๋ ํธ๋ฆฌํ๋ค๊ณ ๊ฐ์กฐ๋ฅผ ํ์ง๋ง, ์ค์ ๋ก๋ Ctrl๊ณผ ์กฐํฉ์ ํด์ผ ํ๋ค๋ ์ , ๊ทธ๋ฆฌ๊ณ ํค๋ฐฐ์น๊ฐ ์๋ฑํ๋ค๋ ์ ๋๋ฌธ์ ์ฌ์ฉ์ด ์คํ๋ ค ๋ถํธํ๋ค๋ฉฐ ์ปค์ ํค๋ฅผ ์ด์ฉํ๋ ์ฌ๋์ด ๋ง๋ค.
13.4. ์ด๋งฅ์ค๋ OS[ํธ์ง]
์ด๋งฅ์ค๋ ์ด์ฐ ๋ณด๋ฉด ๋จ์ํ ํธ์ง๊ธฐ๋ผ๊ธฐ๋ณด๋ค ํธ์ง๊ธฐ์ ํ์ ์ด ๊ฐ์ LISP Machine์ด๋ผ ๋ณด๋ ๊ฒ ํ๋นํ ์ ๋๋ก ์์ฒญ๋ ํ์ฅ์ฑ์ ๊ฐ์ก๋ค. ์ฌ๊ธฐ์ ๋ฒํผ๋ฅผ ์ด์ฉํ๋ฉด ์ด๋งฅ์ค ๋ด์์ ๊ฑฐ์ ๋ชจ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค๋ฉฐ ํ๋์ OS ๋ผ๊ณ ์ฐฌ์์ ๋ฐ๋ ์์ ์ด ์์๊ณ [6], vi ์ ์ ๋ค๋ ์ด๋งฅ์ค๋ '์ข์ ํธ์ง๊ธฐ๋ง ์กด์ฌํ๋ค๋ฉด ์๋ฒฝํ OS' ๋ผ๋ฉฐ ๊ณต๊ฐ์ ํ์๋ค. ์ค์ ๋ก, ํธ์ง๊ธฐ ๊ธฐ๋ฅ์ ๋ํ์ฌ ์น ๋ธ๋ผ์ฐ์ง, ๋ฉ์ผ ํด๋ผ์ด์ธํธ, ๊ฐ๋จํ ๊ฒ์, PIM ๋ฑ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋๋ถ๋ถ์ด ์ ๊ณต๋๋ค. ํ์ง๋ง, ์ด๋ ์ ์ ์ผ๋ก CLI ์์ ์๋ ํด๋น๋๋ ๊ฒ์ด๋ค. ์ค๋๋ ์ OS๋ ๋๋ถ๋ถ GUI์ ๋ฉํฐํ์คํน์ด ์ง์๋๋ ํ๊ฒฝ์ ์ ๊ณตํ์ฌ, ํธ์ง๊ธฐ๋ฅผ ์ด๊ณ , ์์ ์ด๋งฅ์ค๊ฐ ์ ๊ณตํ๋ ๊ฒ๋ณด๋ค '๋ ์ข์' ์น๋ธ๋ผ์ฐ์ ๋ฅผ ์ด๊ณ , ์ด๋งฅ์ค๊ฐ ์ ๊ณตํ๋ ๊ฒ๋ณด๋ค '๋ ์ข์' ๋ฉ์ผ ํด๋ผ์ด์ธํธ๋ฅผ ์ด๊ณ ๊ฐ๋จํ ๋ง์ฐ์ค ํด๋ฆญ์ผ๋ก ํน์ ์๋์ฐ ๋งค๋์ ๊ฐ ์ง์ํ ๊ฒฝ์ฐ ๋จ์ถํค๋ก ๊ฐ๋จํ ์ด๋ํ๋ฉด์ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค. ๋๋ถ์ ์ด๋ฐ ์ฅ์ ์ ๋น์ด ๋ฐ๋ฌ๊ณ ๊ธฐํธ์ ์์ญ์ผ๋ก ์ ํ๋์๋ค.
๋ํ, ์ปค๋งจ๋๋ผ์ธ ์์ฃผ๋ก ์ฌ์ฉํ๋ ์ฌ๋์ค์ฟจ ์ ๋์ค ์ ์ ๋ค์๊ฒ ์์ด์๋ ์ด๊ฒ ๊ทธ๋ฆฌ ์ข์ ํ๊ฐ๋ ๋ชป ๋ฐ์๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๋์ค์์ ์ ๊ณตํ๋ ๋ค์์ ์ ธ ๋ช ๋ น๋ค์ ๊นก๋ฌด์ํ๋ฉด์ ์์ฒด์ ์ผ๋ก ๊ทธ์ ๊ฐ์ ๊ธฐ๋ฅ์ ํ๋ ๋ช ๋ น๋ค์ ์๋ก์ด ํ์ฌํ๊ณ ๋ ์์ ์ธ ํ๊ฒฝ์ ์กฐ์ฑํ๋ ์ก์คํ ํ๋์ ์ํํธ์จ์ด๋ก ๋ง๋๋ ๊ฒ์ด ์ ๋์ค์ ๊ธฐ๋ณธ์ ์ธ ์ฒ ํ์ ํฌ๊ฒ ์๋ฐฐ๋์๊ธฐ ๋๋ฌธ์ด๋ค. ์ค์ ๋ก ์ ๋์ค๋ฅผ ๋ง๋ค์๋ ๋ฒจ ์ฐ๊ตฌ์์ ๊ฐ์ฒ์๋ค์ธ ๋ฐ๋์ค ๋ฆฌ์น, ์ผ ํฐ์จ, ์คํธ๋ก์คํธ๋ฝ, ๋กญ ํ์ดํฌ ๋ฑ์ ํธ์ง์ด๋ผ๋ ๋ชฉ์ ์๋ง ์ถฉ์คํ๊ณ ๋๋จธ์ง๋ ๋ค๋ฅธ ์ ๋์ค ๋๊ตฌ์ ์์กดํ๋ ๋จ์ํ ํธ์ง๊ธฐ์ธ ed, acme, sam ๋ฑ์ ๋๊น์ง ์ ํธํ์๋ค. ์ด์ ๋ํด ์ ธ๊ณผ ํจ๊ป ๋ธ๋ ค์ค๋ ์๋ง์ ์ ๋์ค ํด ์ญ์ ๋ฉ์น๊ฐ ํฐ ๊ฑด ์ด๋งฅ์ค์ ๋ง์ฐฌ๊ฐ์ง๊ณ ์ ํ์ ๋ฌธ์ ๋ผ๊ณ ๋ณด๋ ์ฃผ์ฅ๋ ์๊ธด ํ๋ค.์ง์ง OS ์ ๊ฒฝ์์ ํ๊ณ ์์๋ค.
๋ํ, ์ปค๋งจ๋๋ผ์ธ ์์ฃผ๋ก ์ฌ์ฉํ๋ ์ฌ๋์ค์ฟจ ์ ๋์ค ์ ์ ๋ค์๊ฒ ์์ด์๋ ์ด๊ฒ ๊ทธ๋ฆฌ ์ข์ ํ๊ฐ๋ ๋ชป ๋ฐ์๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๋์ค์์ ์ ๊ณตํ๋ ๋ค์์ ์ ธ ๋ช ๋ น๋ค์ ๊นก๋ฌด์ํ๋ฉด์ ์์ฒด์ ์ผ๋ก ๊ทธ์ ๊ฐ์ ๊ธฐ๋ฅ์ ํ๋ ๋ช ๋ น๋ค์ ์๋ก์ด ํ์ฌํ๊ณ ๋ ์์ ์ธ ํ๊ฒฝ์ ์กฐ์ฑํ๋ ์ก์คํ ํ๋์ ์ํํธ์จ์ด๋ก ๋ง๋๋ ๊ฒ์ด ์ ๋์ค์ ๊ธฐ๋ณธ์ ์ธ ์ฒ ํ์ ํฌ๊ฒ ์๋ฐฐ๋์๊ธฐ ๋๋ฌธ์ด๋ค. ์ค์ ๋ก ์ ๋์ค๋ฅผ ๋ง๋ค์๋ ๋ฒจ ์ฐ๊ตฌ์์ ๊ฐ์ฒ์๋ค์ธ ๋ฐ๋์ค ๋ฆฌ์น, ์ผ ํฐ์จ, ์คํธ๋ก์คํธ๋ฝ, ๋กญ ํ์ดํฌ ๋ฑ์ ํธ์ง์ด๋ผ๋ ๋ชฉ์ ์๋ง ์ถฉ์คํ๊ณ ๋๋จธ์ง๋ ๋ค๋ฅธ ์ ๋์ค ๋๊ตฌ์ ์์กดํ๋ ๋จ์ํ ํธ์ง๊ธฐ์ธ ed, acme, sam ๋ฑ์ ๋๊น์ง ์ ํธํ์๋ค. ์ด์ ๋ํด ์ ธ๊ณผ ํจ๊ป ๋ธ๋ ค์ค๋ ์๋ง์ ์ ๋์ค ํด ์ญ์ ๋ฉ์น๊ฐ ํฐ ๊ฑด ์ด๋งฅ์ค์ ๋ง์ฐฌ๊ฐ์ง๊ณ ์ ํ์ ๋ฌธ์ ๋ผ๊ณ ๋ณด๋ ์ฃผ์ฅ๋ ์๊ธด ํ๋ค.
13.5. ๋ํดํจ[ํธ์ง]
Emacs๋ ํ์ต ๊ณก์ ์ ์ด๋ฐ ๊ทธ๋ํ ๊ธฐ์ธ๊ธฐ๊ฐ ์๋งํ๋ค๊ณ ํ ์ ์๋ค. ์ค๋๋ ์ด๋งฅ์ค๊ฐ ๋ค์ณ์ง๊ฒ ๋ ๊ฐ์ฅ ํฐ ์ด์ ์ค ํ๋์ด๋ค. ๊ตณ์ด ์ ๊ทผ์ฑ์ด ๋์ ๋ค๋ฅธ ์์ง์๊ทธ ํธ์ง๊ธฐ์ ๋น๊ตํ ๊ฒ๋ ์์ด, vi/vim๊ณผ ๋น๊ตํด ๋ด๋ Emacs๋ณด๋ค๋ vi/vim ์ ์ ๊ฐ ํจ์ฌ ๋ง๋ค. ๊ทธ ๊ฐ์ฅ ํฐ ์ด์ ๋, ์ด๋งฅ์ค๋ ์ ๋๋ก ๋ค๋ฃจ๊ธฐ๊ฐ ๋งค์ฐ ํ๋ ํธ์ง๊ธฐ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ฉด์ ํด์ปค๋ค์๊ฒ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ํธ์ง๊ธฐ์ด๊ธฐ๋ ํ๋ฐ, ๊ฐ๋ ฅํจ์ด ์ด์ ๋ผ๊ธฐ๋ณด๋ค๋ ๋จ์ง ํด์ปค ํน์ ์ ์
๋ง์ ๋ง๊ฒ ๋ฏ์ด๊ณ ์น๊ธฐ๊ฐ ๋๋ค ๋ณด๋ ์ธ๊ธฐ๊ฐ ์ข์ ๊ฒ. ๋ฆฌ๋
์ค ์ญ์ ๊ฐ์ ์ด์ ๋ก ์ธ๊ธฐ๊ฐ ๋๋ค. vi/vim๋ ๋ํดํ๋ค๋ ํ๊ฐ๋ฅผ ์ฃผ๋ก ๋ฃ์ง๋ง, ์์ฃผ ์ฐ๋ ๋ช์ญ๊ฐ ์ ๋์ ํค ์คํธ๋กํฌ๋ง ์ต์ํด์ ธ๋ ์ฌ๋งํ ํ ํธ์ง๊ธฐ์ ์์ฐ์ฑ์ ํฌ๊ฒ ์์๊ฐ ์ ์๊ธฐ ๋๋ฌธ์, ๊ณต๋ค์ธ ๋๊ฐ๊ฐ ์๋นํ ๋น ๋ฅด๊ฒ ์ฐพ์์ค๋ ํธ์ด๋ค. ํ์ง๋ง ์ด๋งฅ์ค์ ๊ฒฝ์ฐ Elisp์ด๋ผ๋ ํ๋์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ด๋ ์ ๋ ์ต์ํด์ ธ ์์ ์๊ฒ ์ ํฉํ ์ธํ
/๊ธฐ๋ฅ์ ๋ง๋ค์ด ์ ์ฉํ๋ ๊ฒ ๊ฐ๋ฅํด์ง๊ธฐ ์ ๊น์ง๋ vi/vim๋ฟ๋ง ์๋๋ผ ์ฌํ ํธ์ง๊ธฐ์ ๋นํด์๋ ๋ค์ง๋ค. Elisp์ ๋จ์ํ ์ด๋งฅ์ค ์ปค์คํฐ๋ง์ด์ง์ ์ฌ์ฉ๋๋ ๋ฌธ๋ฒ ์ ๋๊ฐ ์๋๋ผ ์ง์ง ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ค. ๊ทธ๊ฒ๋ ๋ํดํ๋ค๊ณ ์ ๋ช
ํ Lisp family. ๊ฒ๋ค๊ฐ ์ ์ฐ์ฑ์ Elisp๋ณด๋ค ๋จ์ด์ง์ง๋ง, vi/vim์์ ์ ๊ณตํ๋ ๋นํธ์ธ ํจ์๋ง์ผ๋ก๋ ํธ์ง์ผ๋ก๋ง ์ ํํ๋ฉด ์๋นํ ๋ง์ ๊ฒ๋ค์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์, ๊ตณ์ด ์ผ๋ฐ ํ๋ก๊ทธ๋๋จธ๋ค์ด ์์ํ Elisp์ผ๋ก ๋ฐ๋ฅ๋ถํฐ ์ง์ผ ํ ์ด์ ๊ฐ ๋ณ๋ก ์๋ค.
์ฝ๊ฐ ๊ณผ์ฅํด์ vim script๊ฐ bash๋ผ๋ฉด, Elisp์ C ์ธ์ด ์ ๋์ ํด๋น๋๋ค. C ์ธ์ด๋ ๋ฌผ๋ก bash๋ก ํ์ง ๋ชปํ๋ ๋ง์ ๊ฒ๋ค์ด ๊ฐ๋ฅํ์ง๋ง, ์ผ๋ฐ์ ์ธ ์ ธ ์์ ์ bash๋ก ๋ชปํ ๊ฒ์ด ์์ผ๋ฉฐ, bash ๋ช ์ค๋ก ์ฒ๋ฆฌ ๊ฐ๋ฅํ ์์ ์ด C ์ธ์ด๋ก๋ ๋ฆฌ์ผ ํ๋ก์ ํธ๊ฐ ๋ผ๋ฒ๋ฆฐ๋ค. ๋ฌผ๋ก , ๋น๊ต๋ฅผ ์ํด C ์ธ์ด๋ฅผ ์ด์ผ๊ธฐํ ๊ฒ์ผ ๋ฟ Elisp ์์ฒด๋ ์๋นํ ํ์ด๋ ๋ฒจ ์ธ์ด๊ณ vi๋ณด๋ค ํจ์ฌ ๋ง์ ๋ด์ฅ ํจ์๋ฅผ ์ ๊ณตํ๊ธฐ๋๋ฌธ์ ์์ฐ์ฑ์ C๋ณด๋ค ํจ์ฌ ๋๋ค. Elisp์ผ๋ก๋ vim script๋ก ๊ตฌํํ๊ธฐ ํ๋ค๊ฑฐ๋ ๋ถ๊ฐ๋ฅํ ํฐ๋ฏธ๋ ์๋ฎฌ๋ ์ดํฐ๋ผ๋ ๊ฐ, ๋ฉํฐ๋ฏธ๋์ด, ๊ฒ์, ๋ฉ์ผ ํด๋ผ์ด์ธํธ ๊ธฐํ ๋ฑ๋ฑ์ด ๋ค ๊ฐ๋ฅํ์ง๋ง, ์ ์ ์์ ํธ์ง๊ธฐ ๊ธฐ๋ฅ์ผ๋ก ๋ณด๋ฉด vi/vim๊ณผ ์ด๋งฅ์ค๊ฐ ํฐ ์ฐจ์ด๊ฐ ์๋ค. ๋ํ ์ด๋งฅ์ค์์ ๋ณต์กํ ๊ธฐ๋ฅ๋ค์ ๊ตฌํํ๋ค๊ณ ํด ๋ดค์, ์ํด์ผ ๊ธฐ์กด IDE ์ ๋น์ทํ ์ ๋. ์ฆ, ๋จ์ํ ํธ์ง๊ธฐ ๊ธฐ๋ฅ์๋ vi/vim๊ณผ ๋น์ทํ๊ฑฐ๋ ์กฐ์์ฑ ๋ฌธ์ ๋ก ๋นํจ์จ์ ์ด๊ณ , ๋ฆฌํฉํ ๋ง ๋ฑ์ ๋ณต์กํ ๊ธฐ๋ฅ์ ๋น๊ตํ๋ฉด IDE์ ๋นํด ๋ฉ๋ฆฌํธ๊ฐ ์ ์ด ๋ํดํ๊ธฐ๋ง ํด์ ์ค๊ฐ์ ๋ผ์ธ ์ํฉ์ด๋ค.
์ด์จ๋ ์ด๋ฌํ ๋ํดํจ ๋๋ฌธ์ ๋์ ํ๋ค๊ฐ ํฌ๊ธฐํ๋ ์ ์ ๊ฐ ๋๋ถ๋ถ์ด๋ฉฐ ๋์ ํ ์๋์กฐ์ฐจ ๋ด์ง ๋ชปํ๋ ์ฌ๋๋ค์ ํ ์๋ฒ์ง ํ๋ก๊ทธ๋๋จธ๋ค์ด๋ ์ ์ฉํ๋ค๋ฉฐ ๋น๋ํ๋ค. ๊ณผ๊ฑฐ ์ ๋์ค๋ก ์ด๋งฅ์ค๋ฅผ ๊ฐ์ฅ ๋จผ์ ํฌํ ํ๋ ์ ์์ค ๊ณ ์ฌ๋ง์กฐ์ฐจ๋ ์๋์ ๋ค์ณ์ก๋ค๋ฉฐ ์ด๋งฅ์ค๋ฅผ ๊น ๋ค.์์ฌ IDE์ธ ๋ท๋น์ฆ ์ฐ๋ผ๋ ์ด์ผ๊ธฐ์ด๊ธด ํ์ง๋ง.
์ด๋ฌํ ๋ํดํจ์๋ ๋ถ๊ตฌํ๊ณ ์ฌ์ฉํ๋ ๋ฉ๋ฆฌํธ๋ฅผ ๋์ง์ด๋ด์ด ๋ณธ๋ค๋ฉด, Gnuplot์ด๋ LaTeX, Octave์ฉ ํจํค์ง๊ฐ ์ ์ง์๋๊ณ ํนํ LISP ๊ณ์ด ์ธ์ด๋ฅผ ๊ฐ๋ฐํ๋ ๋ฐ ๋ง๊ฐํ ํธ๋ฆฌ์ฑ์ ์ ๊ณตํ๋ค๋ ์ ์ด๋ค. nREPL์ ํตํด ๋ณ๋๋ก ์คํ๋๋ Lisp ํ๋ก์ธ์ค์ ํต์ ํ๋ฉฐ ์ฆ์์์ ์ฝ๋๋ฅผ ์ฃผ์ ํ์ฌ ์คํํด ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด์ ์ฝ๋ฉํ๊ณ ๋๋ฒ๊ทธ๋ฅผ ํ ์ ์๋ค. ๋ฌผ๋ก ๋ค๋ฅธ ํธ์ง๊ธฐ๋ ๊ฐ๋ฐํ๊ฒฝ์์๋ ์ด๋ฌํ ๊ฒ์ ์ง์ํด ์ฃผ๊ธฐ๋ ํ์ง๋ง Emacs๋งํผ ํธ๋ฆฌํ๊ณ ์ง๊ด์ ์ธ ํ๊ฒฝ์ ์ ๊ณตํ๋ ํด์ ์์ง๊น์ง ์ฐพ๊ธฐ ํ๋ค๋ค.
์ฝ๊ฐ ๊ณผ์ฅํด์ vim script๊ฐ bash๋ผ๋ฉด, Elisp์ C ์ธ์ด ์ ๋์ ํด๋น๋๋ค. C ์ธ์ด๋ ๋ฌผ๋ก bash๋ก ํ์ง ๋ชปํ๋ ๋ง์ ๊ฒ๋ค์ด ๊ฐ๋ฅํ์ง๋ง, ์ผ๋ฐ์ ์ธ ์ ธ ์์ ์ bash๋ก ๋ชปํ ๊ฒ์ด ์์ผ๋ฉฐ, bash ๋ช ์ค๋ก ์ฒ๋ฆฌ ๊ฐ๋ฅํ ์์ ์ด C ์ธ์ด๋ก๋ ๋ฆฌ์ผ ํ๋ก์ ํธ๊ฐ ๋ผ๋ฒ๋ฆฐ๋ค. ๋ฌผ๋ก , ๋น๊ต๋ฅผ ์ํด C ์ธ์ด๋ฅผ ์ด์ผ๊ธฐํ ๊ฒ์ผ ๋ฟ Elisp ์์ฒด๋ ์๋นํ ํ์ด๋ ๋ฒจ ์ธ์ด๊ณ vi๋ณด๋ค ํจ์ฌ ๋ง์ ๋ด์ฅ ํจ์๋ฅผ ์ ๊ณตํ๊ธฐ๋๋ฌธ์ ์์ฐ์ฑ์ C๋ณด๋ค ํจ์ฌ ๋๋ค. Elisp์ผ๋ก๋ vim script๋ก ๊ตฌํํ๊ธฐ ํ๋ค๊ฑฐ๋ ๋ถ๊ฐ๋ฅํ ํฐ๋ฏธ๋ ์๋ฎฌ๋ ์ดํฐ๋ผ๋ ๊ฐ, ๋ฉํฐ๋ฏธ๋์ด, ๊ฒ์, ๋ฉ์ผ ํด๋ผ์ด์ธํธ ๊ธฐํ ๋ฑ๋ฑ์ด ๋ค ๊ฐ๋ฅํ์ง๋ง, ์ ์ ์์ ํธ์ง๊ธฐ ๊ธฐ๋ฅ์ผ๋ก ๋ณด๋ฉด vi/vim๊ณผ ์ด๋งฅ์ค๊ฐ ํฐ ์ฐจ์ด๊ฐ ์๋ค. ๋ํ ์ด๋งฅ์ค์์ ๋ณต์กํ ๊ธฐ๋ฅ๋ค์ ๊ตฌํํ๋ค๊ณ ํด ๋ดค์, ์ํด์ผ ๊ธฐ์กด IDE ์ ๋น์ทํ ์ ๋. ์ฆ, ๋จ์ํ ํธ์ง๊ธฐ ๊ธฐ๋ฅ์๋ vi/vim๊ณผ ๋น์ทํ๊ฑฐ๋ ์กฐ์์ฑ ๋ฌธ์ ๋ก ๋นํจ์จ์ ์ด๊ณ , ๋ฆฌํฉํ ๋ง ๋ฑ์ ๋ณต์กํ ๊ธฐ๋ฅ์ ๋น๊ตํ๋ฉด IDE์ ๋นํด ๋ฉ๋ฆฌํธ๊ฐ ์ ์ด ๋ํดํ๊ธฐ๋ง ํด์ ์ค๊ฐ์ ๋ผ์ธ ์ํฉ์ด๋ค.
์ด์จ๋ ์ด๋ฌํ ๋ํดํจ ๋๋ฌธ์ ๋์ ํ๋ค๊ฐ ํฌ๊ธฐํ๋ ์ ์ ๊ฐ ๋๋ถ๋ถ์ด๋ฉฐ ๋์ ํ ์๋์กฐ์ฐจ ๋ด์ง ๋ชปํ๋ ์ฌ๋๋ค์ ํ ์๋ฒ์ง ํ๋ก๊ทธ๋๋จธ๋ค์ด๋ ์ ์ฉํ๋ค๋ฉฐ ๋น๋ํ๋ค. ๊ณผ๊ฑฐ ์ ๋์ค๋ก ์ด๋งฅ์ค๋ฅผ ๊ฐ์ฅ ๋จผ์ ํฌํ ํ๋ ์ ์์ค ๊ณ ์ฌ๋ง์กฐ์ฐจ๋ ์๋์ ๋ค์ณ์ก๋ค๋ฉฐ ์ด๋งฅ์ค๋ฅผ ๊น ๋ค.
์ด๋ฌํ ๋ํดํจ์๋ ๋ถ๊ตฌํ๊ณ ์ฌ์ฉํ๋ ๋ฉ๋ฆฌํธ๋ฅผ ๋์ง์ด๋ด์ด ๋ณธ๋ค๋ฉด, Gnuplot์ด๋ LaTeX, Octave์ฉ ํจํค์ง๊ฐ ์ ์ง์๋๊ณ ํนํ LISP ๊ณ์ด ์ธ์ด๋ฅผ ๊ฐ๋ฐํ๋ ๋ฐ ๋ง๊ฐํ ํธ๋ฆฌ์ฑ์ ์ ๊ณตํ๋ค๋ ์ ์ด๋ค. nREPL์ ํตํด ๋ณ๋๋ก ์คํ๋๋ Lisp ํ๋ก์ธ์ค์ ํต์ ํ๋ฉฐ ์ฆ์์์ ์ฝ๋๋ฅผ ์ฃผ์ ํ์ฌ ์คํํด ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด์ ์ฝ๋ฉํ๊ณ ๋๋ฒ๊ทธ๋ฅผ ํ ์ ์๋ค. ๋ฌผ๋ก ๋ค๋ฅธ ํธ์ง๊ธฐ๋ ๊ฐ๋ฐํ๊ฒฝ์์๋ ์ด๋ฌํ ๊ฒ์ ์ง์ํด ์ฃผ๊ธฐ๋ ํ์ง๋ง Emacs๋งํผ ํธ๋ฆฌํ๊ณ ์ง๊ด์ ์ธ ํ๊ฒฝ์ ์ ๊ณตํ๋ ํด์ ์์ง๊น์ง ์ฐพ๊ธฐ ํ๋ค๋ค.
14. Elisp[ํธ์ง]
Common lisp๊ณผ ๋น์ทํ์ง๋ง, ์๋ฌด๋๋ ์ข ๊ตฌํ์ด๋ผ Common lisp์ ๋นํด ๊ธฐ๋ฅ์ ์๋นํ ๋จ์ด์ง๋ค. ๊ทธ๋์, Elisp์ ๋์ฒดํ์๋ ์๋ฆฌ๋ ๋ง์ด ๋์๊ณ ์คํจ๋ง์ Guile์ด๋ผ๋ ์ธ์ด๋ก ๋์ฒดํ ์๊ฐ์ด ์๋ค๋ ์ด์ผ๊ธฐ๋ ํ๋ค. Guile์ Scheme family๋ผ ๊ฐ์ lisp์ด๊ธด ํ์ง๋ง, Common lisp ์ชฝ๊ณผ ๋ ์ ์ฌํ Elisp๊ณผ๋ ์ฐจ์ด๊ฐ ์ข ์๋ค. Common lisp์ด ์ค๋ง๊ฐ์ง ๊ธฐ๋ฅ์ ๋ค ๋๋ ค ๋ฃ์ C++๋ผ๋ฉด, Scheme์ ํต์ฌ์ ์ธ ๋ถ๋ถ๋ง ์ปดํฉํธํ๊ฒ ์ ์งํ๋ C ์ธ์ด๋ก ๋น๊ตํ ์ ์๋ค. ๋ฌผ๋ก , ์์ ์ด์ผ๊ธฐ์ด๊ณ R6RS ๋ถํฐ๋ Scheme๋ ์๋นํ ์ก์คํด์ก๋ค. ํ์ง๋ง ์ ๊ฒ ์ด๋ฏธ 10๋
๋ ๋ ์ ์ ๋์จ ์๋ฆฌ์ธ๋ฐ ์์ง ๊ตฌํ์ด ์๋๋ค. ๋ฌผ๋ก Elisp ์ฝ๋๊ฐ ์์ญ๋ง์ค ์ด์์ด๋ผ ๊ฐ๋จํ ๊ฐ๋ฅํ ๊ฒ์ ์๋์ง๋ง ๋์ฒด๋ฅผ ์ํ ํ๋ ์์ฒด๊ฐ ๋ฏธ๋ฏธํ๋ค. ๊ฒฐ๊ตญ ๋ฐ๋ฅ๋ถํฐ ์๋ก ๋ง๋ค๊ธฐ๋ณด๋ค Elisp์ Guile ๋ด์ ์๋ฒ ๋ฉํ๋ ์์ผ๋ก ์ผ๋ง ์ GSoC์์ ๋ง์ด๋ ์ด์๋ง ์ข ์๊ณ ๊ฑฐ์ ๋ค ๋๋๋ฏํ ๋์์ค๋ฅผ ํ๊ฒผ๋๋ฐ GSoC ์ดํ๋ก๋ ๋ค์ ์นจ์ฒด์ธ ๋ฏ.
15. ์ฐธ๊ณ [ํธ์ง]
์ฌ์ฉ๋ฒ์ ์๊ณ ์ถ๋ค๋ฉด ์ฌ๊ธฐ์ ๊ธฐ ๋ฐฉ๋ฌธํด ๋ณด์.
์ด๋ฐ ํจํค์ง๋ ์ฐธ๊ณ ํด ๋ณด์. prelude
Vim์ ๋ ์ต์ํ์ง๋ง ํน๋ณํ ์ด์ ๋๋ฌธ์ ์ด๋งฅ์ค๋ฅผ ์ฌ์ฉํ๊ณ ์ ํ๋ค๋ฉด Vim ํค๋ฐ์ธ๋ฉ์ด ๊ธฐ๋ณธ์ผ๋ก ์ค์ ๋์ด์๋ ์คํ์ด์ค๋งฅ์ค๋ ๋์์ง ์์ ์ ํ์ด๋ค. spacemacs
์ด๋ฐ ํจํค์ง๋ ์ฐธ๊ณ ํด ๋ณด์. prelude
Vim์ ๋ ์ต์ํ์ง๋ง ํน๋ณํ ์ด์ ๋๋ฌธ์ ์ด๋งฅ์ค๋ฅผ ์ฌ์ฉํ๊ณ ์ ํ๋ค๋ฉด Vim ํค๋ฐ์ธ๋ฉ์ด ๊ธฐ๋ณธ์ผ๋ก ์ค์ ๋์ด์๋ ์คํ์ด์ค๋งฅ์ค๋ ๋์์ง ์์ ์ ํ์ด๋ค. spacemacs
15.1. ๋ค์ด ๋ฐ๊ธฐ[ํธ์ง]
๋ณดํต Unix ๊ธฐ๋ฐ์ ์ด์ ์ฒด์ ๋ค์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฌํ๊ณ ์๊ฑฐ๋ ์์ฝ๊ฒ ํจํค์ง๋ฅผ ๋ค์ด๋ฐ์ ์ ์๋ค.
- ๋ฐ๋น์ ๊ณ์ด์ ๊ฒฝ์ฐ sudo apt-get install emacs, ๋ ๋ํ ๊ณ์ด์ sudo
yumdnf install emacs๋ฅผ ํฐ๋ฏธ๋์ ์ ๋ ฅํด ์ค์นํ ์ ์๋ค. - macOS: Emacs For OS X ํน์ Aquamacs
[1] vim๋ ๋ฒ์ 8.0๋ถํฐ ํฐ๋ฏธ๋ ์๋ฎฌ๋ ์ดํ
์ ์ง์ํ๋ค.
[2] 2^20 ๋ฐ์ดํธ๋ก 1๋ฉ๊ฐ๋ฐ์ดํธ์ ํฌ๊ธฐ. ์๋ 1๋ฉ๊ฐ๋ผ๋ ๋จ์๋ 10^6์ ์๋ฏธํ๋ ๊ฒ์ด๋ผ ์ปดํจํฐ์ ๋จ์์ ์ฝ๊ฐ ์ฐจ์ด๊ฐ ์๋ค. ์ด๋ฅผ ์ ํํ๊ฒ ์ง์ ํ๊ธฐ ์ํด Mi, ๋ฉ๋น๋ผ๋ ๋จ์๋ฅผ ์ฐฝ์คํ์ผ๋... ์ผ๋ฐ์ ์ผ๋ก ๋ง์ด ์ฐ์ด์ง๋ ์๋ ๋ฏ ํ๋ค.
[3] ๋ณดํต Dired๋ผ๋ ํ์ผ ๊ด๋ฆฌ์ ๋ชจ๋์์ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
[4] zone ์ด๋ผ๋ ๋ชจ๋์ธ๋ฐ ์ฌ์ฉํ๋ฉด ํ์ฌ ๋ฒํผ์ ๋ฌธ์๋ฅผ ์ด๋ฆฌ์ ๋ฆฌ ๋ฐ๊พธ๊ณ ์์ง์ด๋ฉด์ ํผ์ ๋
ผ๋ค. ์ผ์ข
์ ์คํฌ๋ฆฐ์ธ์ด๋ฒ.
[5] ์ด ์ญ์ vi ํฌ๋คํํ
๊น์ด๋ ์ ๋ค ์ค ํ๋.
[6] ๋ฉํฐํ๋ก์ธ์ค๊ฐ ์๋๋ ์์ ์๊ธฐ.. 1990๋
๋ ์ด์ ์ ์๊ฐํ๋ฉด ๋ ๋ฏ