디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[정보글] 이맥스 개종 가이드 (vim 신도 환영) - 1

커헠갤로그로 이동합니다. 2017.06.25 18:43:44
조회 5084 추천 16 댓글 21
														


viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b28b77a16fb3dab004c86b6fdc843afe757eec57bd7102ec3efadaa9e434adee09548247f638ccde35296147d4c28624d80424516517ddc338




viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b28b77a16fb3dab004c86b6fdc843afe757eec57bd7102ec3efadaa9e434adee09548247f638ccde35296147d4c0de2e8b0722573917c7dd38




"이맥스는 사용자와 함께 진화하는 에디터다"

- 야이미친



<이맥스 개종 가이드>


이맥스는 처음에 접근 장벽이 매우 높은걸로 유명합니다

vim 과 다르게 이맥스를 쓰는 사람들은 이맥스 세팅하느라 바빠서 초보용 강좌를 안 쓰거든요

(저도 방금전까지 세팅하다가 오늘 세팅은 충분히 한 것 같아서 글 쓰는 중...)


일단 많은  vim 사용자들은 자기가 대체 왜 이맥스를 써야되는지 묻습니다.

이 강좌를 보면.. 대강 알게 될듯...?


하여튼 이 튜토리얼은 이맥스 시작 과정에서 알아야될 것들을 다룹니다.



먼저 이맥스를 설치합시다.

이맥스는 vim과는 다르게  커맨드라인 에디터가 아닙니다.

gui 에디터고요, 따라서 커맨드라인을 사용하지 않아도 됩니다.


현재 윈도우, 리눅스, OSX 모두 이맥스가 지원하고 있고 윈도우 이맥스도 쓸만한데 대신 고생을 조금 더 합니다

(우지챠는 윈도우 이맥스 출신임...)


순정 이맥스를 처음 설치하면 (현재 메이저 버전이 25)


아래와 같은 화면을 볼 수 있습니다



viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b28b77a16fb3dab004c86b6fdc843afe757eec57bd7102ec3efadaa9e434adee09548247f638ccde35296147d4c4d22bde5070543617c7dd38


그리고 대다수의 사람들은 여기서 접습니다.

저도 처음에 이맥스 시도 했을 때 여기서 접었어요...

시발 뭐가 뭔지 알아야지

파일도 못 열겠으니 원;;



그래서 대다수의 사람들은 여기서부터 이맥스 공식 홈페이지로 갑니다


그리고 vim 경험이 있는 사람들은 단축키가 전부라는 것을 알고서 단축키를 외우기 시작합니다



viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b28b77a16fb3dab004c86b6fdc843afe757eec57bd7102ec3efadaa9e434adee09548247f638ccde35296147d4c48279d95777536517c7dd38



결론부터 얘기하면, 외우지 마세요


예전에 야이미친 형님한테 "이맥스 단축키랑 vim 단축키랑 비교하면 어떤가요?"


라고 질문했다가 이맥스 단축키들을 그대로 쓰는건 멍청한 짓이라고 비교를 못한다고 쿠사리 먹었습니다


네 외우지 마세요


그래도 저는 순정 단축키를 몇개 쓰고 있는데, 대강 소개를 하겠습니다.


이맥스에서 C-x 이런식으로 나와있는거는 대강 Ctrl + x 라는 뜻이고,


C-x b 라는거는 Ctrl + x 누른 다음에 b 를 누르라는 뜻입니다.


M-x 에서 M 은 메타키라고 해서, 예전에 이맥스 전용 키보드 (스페이스 캐댓 키보드)의 레거시인데,


오늘날 키보드에서 Alt 키입니다.



이맥스에서는 그래서 컨트롤과 알트키, 그리고 나머지 키들의 조합 + 그 다음에 누르는 키 의 조합으로 단축키들이 이루어져 있습니다.


제가 현재 사용하고 있는 것들은,


C-x C-f 

파일 탐색


C-x C-c

이맥스 종료


C-x C-s

현재 버퍼(문서) 저장


C-x b

버퍼 목록 띄우기


C-x 3

화면 양쪽으로 분할

(vim 에서 vsplit)


C-x 2

화면 위 아래로 분할

(vim에서 split)


C-x 0

현재 창 닫기 (닫기만 하는거지 버퍼를 죽이는건 아닙니다. 나중에 따로 설명함)


M-x

명령 입력하기


이 정도인듯



이맥스에 관해서 알아둬야될 간단한 이론들을 소개하자면,


일단 이맥스는 Lisp 기반입니다.


Emacs Lisp 라고 해서 Lisp의 한 방언을 스크립트 언어로 사용하고 있고,


사실 이맥스는 Emacs Lisp 가상 머신 위에서 돌아감


그래서 사실상 VM 과 비슷한 느낌이라고 보셔도 됩니다.


그렇다보니까 vim 같은 정적인 텍스트 에디터와는 다르게 굉장히 다이나믹한 환경이고,


우스겟소리로 "이맥스 유저들은 이맥스 운영체제와 리눅스라는 시스템 라이브러리를 사용한다"


라고 합니다.




실제로 이맥스는 apt-get 이나 pacman 처럼 전용 패키지 매니저를 사용하고 있습니다.


vim에서 plugin 이라고 하는걸 이맥스에서는 package 라고 부르는데,


package 들은 결국에는 그냥 스크립트 파일이고, vim 처럼 따로 랭귀지 서버 같은걸 돌리는 경우도 꽤 있습니다.




이맥스는 처음 키면, 리눅스는 ~/.emacs.d, 윈도우에서는 유저/.emacs.d/


에서 예전에는 .emacs 파일이였나 이걸 로드하고,


요즘은 init.el 이라는 파일이 있으면 그걸 로드합니다.


vim의 .vimrc 파일이랑 똑같은 개념이고요,


이맥스는 처음 키면 무조건 저 파일을 로드합니다.


그니까 일단 이맥스를 시작했으면 ~/.emacs.d/init.el 파일을 만듭시다.


그 다음에 아마 .emacs.d/elpa/ 경로에 있는 파일들을 읽는걸로 기억하는데,


여기는 패키지 매니저로 다운 받은 파일들이 들어가는 곳입니다. 




스크립트 파일을 읽으면 그게 Elisp 인터프리터에 올라가게 되고,


그 스크립트의 내용을 사용할 수 있습니다.


이맥스에서는 설정을 다른 방법으로 사용하지 않고 전부 Elisp 로 진행하게 됩니다.


다음 편에서 어떻게 하는지 보여드리도록 하고,


모든 기능들은 결국에는 Elisp 함수기 때문에,


M-x 로 명령어를 입력하면 사실 Elisp 함수를 호출하는거임


그래서 이맥스에서 하는 모든 행위들, 설정, 스크립트 작성 등등은 리습 프로그래밍임




하여튼 이맥스를 잘 쓰기 위해서는 이러한 이맥스 생태계를 이해하고 있어야됨


이걸 이해하면 잘 쓸 수 있음





다음 편에 계속

추천 비추천

16

고정닉 4

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 힘들게 성공한 만큼 절대 논란 안 만들 것 같은 스타는? 운영자 24/06/10 - -
이슈 [디시人터뷰] 웃는 모습이 예쁜 누나, 아나운서 김나정 운영자 24/06/11 - -
공지 프로그래밍 갤러리 이용 안내 [71] 운영자 20.09.28 35462 62
2711121 인터넷망에서 작업하고싶다 금융오지마라갤로그로 이동합니다. 09:19 2 0
2711120 나님.. 지진을 일으켜 물의를 일으킨것에대해 사과드립니당.. [1] ♥냥덩수면과학연구소♥갤로그로 이동합니다. 09:06 6 0
2711119 오역인데 좀 웃기다.. ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09:05 4 0
2711118 프로그래밍 공부할게 있나 ㅇㅇ갤로그로 이동합니다. 09:01 14 0
2711117 사수가 코드리뷰 해줌 [1] 프갤러(106.133) 08:41 33 0
2711116 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 08:37 15 0
2711115 임 전 실장과 조 대표 등 문재인 정부 인사 10여명은 지난 2017~2 B0@(211.36) 08:35 9 0
2711114 방금 지진 느낀사람? ㅇㅅㅇ [2] 헤르 미온느갤로그로 이동합니다. 08:28 44 0
2711113 웃는 얼굴에 침 못 뱉는다 외모가 문제가 아니다 [4] ♥냥덩수면과학연구소♥갤로그로 이동합니다. 08:10 32 0
2711112 결국ㅈㄹ해봤자ai가대중상애로돈버는건디지털딸딸이임결론은나와있음 보법E노무현갤로그로 이동합니다. 08:03 17 0
2711111 나님 시작합니당✨ [1] ♥냥덩수면과학연구소♥갤로그로 이동합니다. 07:58 20 0
2711110 프로세싱 잘하는사람 있어? [2] ㅇㅇ(114.200) 07:46 38 0
2711109 석사할거면 개발 왜함 ㅇㅅㅇ 류류(118.235) 07:33 29 0
2711107 반부패수사3부장검사의 인사이동에 따라, 전주지검 형사3부는 중소벤처기 130@(211.202) 06:28 28 0
2711105 개발은 이제 신입으로 못드감 ㅇㅇ갤로그로 이동합니다. 05:56 118 2
2711104 진로가 고민된다면..ㅇㅅㅇ ㅇㅅㅇ(106.102) 05:12 31 0
2711103 팬메이드게임 만드는 것도 포폴로 쓰일 수 있나? 프갤러(223.39) 05:02 24 0
2711101 금융쪽으로 가고싶은데 대기업은 못노리고 중소로 프갤러(112.150) 04:45 28 0
2711100 백수인데 공부할거 추천좀.. [3] 프갤러(122.35) 04:36 54 0
2711099 c++로 객체 연습할만한 방법 뭐가 있을까요 [9] 프갤러(223.39) 04:23 65 0
2711097 [이송희일의 견문발검] 학살 위의 무지개, 핑크워싱 발명도둑잡기갤로그로 이동합니다. 04:04 21 0
2711096 어제 wwdc보고 머신러닝책 샀다 초코냥갤로그로 이동합니다. 03:37 46 0
2711095 분노의 코딩 완료 조금 잔다 초코냥갤로그로 이동합니다. 03:33 44 0
2711094 오픈소스 프로젝트 랜딩 페이지 99% 완료 프갤러(106.102) 03:26 33 0
2711093 크롬 쓰는데 갑자기 새창에 광고사이트가 생겨요 [1] ㅇㅇ(118.235) 03:16 32 0
2711092 자바는 백앤드 말고 어디 써? [7] 새싹도우미갤로그로 이동합니다. 03:07 123 0
2711091 git으로 개발해서 컴파일 완료한걸 다운받은 제가 수정할 수 있나요? [2] 프갤러(1.236) 02:51 49 0
2711089 좋아하는거랑 잘하는건 다르다 [1] ㅇㅇ갤로그로 이동합니다. 02:19 80 0
2711088 gpt 결제하고 드는 생각인데 그냥 gpt랑 대화하는게 더 남는거같음 [1] 프갤러(14.39) 02:19 59 0
2711087 노트북 크램쉘로만 써야지 [1] ㅇㅇ갤로그로 이동합니다. 02:18 38 0
2711086 완벽한 균일한 해시함수는 존재하나요? [1] 딘퐁갤로그로 이동합니다. 02:09 54 0
2711085 박스 줍는 노인 입갤이요 ㅇㅅㅇ ㅇㅅㅇ(106.102) 02:08 16 0
2711084 노트북 2시간 보니까 모가지 아프네 ㅇㅇ갤로그로 이동합니다. 02:02 27 0
2711083 ai의 미래는 어떨거같아? [1] 예외처리갤로그로 이동합니다. 01:56 54 0
2711081 오늘의 예능기획 실마리: 주한미군부대나 해외미군부대에 감사편지 풍선띄우기 발명도둑잡기갤로그로 이동합니다. 01:50 22 0
2711080 이산수학을 이해 못하는 머리면 개발자 안하는건 맞긴 함 [21] ㅇㅇ(117.111) 01:49 164 0
2711079 근데 확실히 이산수학은 필수 같던데 [9] dd(183.97) 01:45 99 0
2711078 수학 잘하는거 부럽다 [1] 프갤러(14.39) 01:38 56 0
2711077 gpt 유료 결제했어 프갤러(14.39) 01:37 34 0
2711076 개발자들 그냥 머리 비우면서 살아 ㅇㅇ(211.234) 01:30 65 0
2711075 오늘의 소설, 영화 실마리: 범죄 저지른 주한미군 잡는 이야기 [1] 발명도둑잡기갤로그로 이동합니다. 01:28 20 0
2711074 전공 공부 한다고 개발실력 느는거 아니잖어 [4] dd(183.97) 01:26 101 0
2711071 자살하기전에 외국으로 튀는거 체크하자 뒷통수한방(1.213) 01:21 32 1
2711067 좉센 it ) 노예새끼들은 많은데...아 씹팔 ㅋ 뒷통수한방(1.213) 01:16 36 0
2711065 디즈니가 더이상 "빌런송 (Villain Song)"을 만들지 않는 이유 발명도둑잡기갤로그로 이동합니다. 01:13 27 0
2711064 그 많은 기술들은 어케 공부하냐 [17] dd(183.97) 01:12 122 0
2711062 클로드 완전히 똘똘이네 프갤러(203.212) 01:10 25 0
2711061 코딩테스트 1레벨 아무거나 다 풀수있을정도로 하려면 프갤러(112.150) 01:09 39 0
2711060 현직 프갤러들 ) 노예새끼는 많은데... 뒷통수한방(1.213) 01:07 28 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2