디시인사이드 갤러리

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

갤러리 본문 영역

[정보글] 이맥스 개종 가이드 - 5

커헠갤로그로 이동합니다. 2017.06.25 21:13:16
조회 5798 추천 8 댓글 2
							







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

- 야이미친



<이맥스 개종 가이드>


1편

2편

3편

4편


오늘은 힘들어서 여기까지...


이맥스에서 깃을 사용하는 방법과, 중급 유저들을 위해서 use-package를 사용한걸 소개하겠음..


이맥스의 꽃 중 하나는 magit 이라는 패키지인데,


git을 이맥스에서 사용할 수 있게 해주는 패키지입니다.




나는 얼마전까지 이맥스에서 git 과 관련된 것들을 shell 로 사용했었는데,


이번에 magit 사용해보니까 그냥 신세계임 미쳤음


magit 은 설치와 셋업이 매우 간단해서 그냥


M-x package-install RET magit RET


을 하면 되고,


문제는 사용설명서가 미쳤음 겁나 김


그래서 제가 간단하게 git add, git commit, git push 하는걸 소개를 하겠음




일단 evil-mode를 사용하고 있는 사람들은 evil-magit을 설치해주시고,


저의 경우 evil-magit을 쓰고 있기 때문에 그냥 그거 기준으로 설명을 하겠음




어떤 프로젝트에서 git init을 하고 싶으면,


그냥 그 지점에서 magit-init을 하면 되고,


모든 것은 magit-status 를 통해서 하게 됩니다.


magit-status는 그냥 항상 열고 닫고 하기 때문에




C-x g 로 박아놨음


필요한 파일들을 수정하고 magit-status 를 사용할 경우,







이렇게 창이 뜹니다.


unstaged changes 그니까 로컬에서 수정했는데 git add 를 안 한 파일들의 목록이 뜹니다.


evil-magit을 안 사용하고 있을 경우에 n, p 로 위 아래 목록을 내려갔다 올라갔다 할 수 있고요,


evil 사용자들은 자연스럽게 h j 를 사용하시면 됩니다.


그리고 unstage 된 것들 중에서 stage 하고 싶은게 있으면 그 때 s 를 눌러주고, (여기서부터는 evil 기준)


전체를 다 스테이지 하려면 S 를 하시면 됩니다.






이러면 스테이지가 되고,


이 때 c 를 누르면 커밋 관련 설정들이 뜹니다.





그냥 커밋을 할꺼면 간단하게 c 를 다시 누르면 되고,


vim으로 커밋 메세지 수정하는게 뜹니다. 동시에 diff도 보여줍니다.





커밋 메세지 입력하고,


C-c C-c 를 눌러주면 커밋이 완료가 됩니다.


푸시를 할 때는 p 를 눌러주면 되는데,





이렇게 옵션들이 다 뜹니다.


이미 설정 해놓은 upstream (레포지토리)가 없으면 설정하라는 메세지가 뜨고요,


설정 한 다음에 RET,


또는 이미 설정돼있을 경우에는 p 를 눌러주면 푸시가 됩니다.



이 외에도 머지, 브랜치 관리, 헤드 관리 등등 깃의 모든 것을 다 magit 내에서 처리할 수가 있고,


깃허브 관리를 위한 magit 패키지도 따로 나와있습니다.


하여튼 좋음.




마지막으로, 일반 중급 이맥스 유저들을 위해 use-package 라는 패키지를 소개하겠음


이 패키지는 그냥 유틸리티 패키지인데,


init.el 파일이 엄청 간략하고 관리하기가 편해져서 소개를 드립니다.





use-package 는 간단히 말해서 패키지 관리용 매크로인데,


이렇게 use-package 로 어떤 패키지를 선언할 경우 (require)를 하는거랑 동일한 효과가 납니다.


사진에서 :if 문은 뭐냐하면 이 패키지를 (require) 하는 조건을 명시하는거고요, 저 코드의 경우에는 ms-dos 가 아닌 겨우에  rtags를 포함시키라는 얘기입니다.






이 사진을 보면 init 이라는 것과 config 라는게 있는데,


init 은 이 패키지를 로드하기 전에 할 것들, hook 걸기라던지 이런 것들을 설정하는 거고,


config는 이 패키지를 로드한 후에 할 것들을 설정하는겁니다.


hook의 경우에는 init에다가 하게 되고,


패키지 초기화용 함수 같은거는 패키지 로딩 후에 호출을 할 수 있으니까 config로 하게 됩니다.




패키지와 관련된 모드가 따로 있을 경우에는 :mode 를 이용해서 이렇게 mode 설정을 할 수 있고요,




관련된 키바인딩이 있을 경우

:bind 로 키바인딩을 매우 손쉽게 할 수 있습니다.



하여튼 이걸 이용하면 코드의 절대적 양이 적어지고 가독성 팍팍 늘어남 꼭 쓰셈





다음 편 올릴 수도 있고 안 올릴 수도 있음

오늘은 여기까지...

추천 비추천

8

고정닉 4

0

댓글 영역

전체 리플 0
등록순정렬 기준선택

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
AD [삼성 디지털프라자] 갤럭시 S20 사전 접수 이벤트! 운영자 20.02.18 - -
1265689 프로그래밍이 좆같지만 그래도 진짜 괜찮은직업인 이유중 하나가 ㅇㅇ(61.75) 12:08 7 0
1265688 진지하게 삶의질은 노가다 아님? ㅇㅇ(110.70) 12:08 6 0
1265687 프론트는 땔깜이다 ㅇㅇ(211.36) 12:07 5 0
1265686 코로나 관련주 오늘도 떡상하겠군 #위키세계어갤로그로 이동합니다. 12:04 13 0
1265685 조센징 특 ㄱㅇ비딧(223.38) 12:02 13 0
1265684 노가다 vs si [2] ㅇㅇ(121.140) 12:00 25 0
1265683 지금 당장 1000억 받기 vs 10년 후에 1조 받기 [2] ㅇㅇ(116.39) 11:58 33 0
1265682 사망자 7명 [1] ㅇㅇ(125.130) 11:51 24 0
1265681 니들도 코로나 현황 사이트좀 만들어봐라 [2] ㅇㅇ(120.142) 11:50 33 0
1265680 대구 중학생들이 만든 '코로나나우' 화제…코로나19 현황을 실시간으로 [7] ㅇㅇ(120.142) 11:46 76 0
1265678 우리 회사 지원좀 해라 ㅇㅇ [5] 포봄갤로그로 이동합니다. 11:44 53 0
1265677 중소 최종면접이면 거의 합격이냐 [3] (222.111) 11:43 45 0
1265674 프론트 개어려운데 정상이냐 [3] ㅇㅅㅌ.갤로그로 이동합니다. 11:36 39 0
1265673 야 멀티 프로세스 설계 어떤게 낫겠냐? [1] 맥주마스터갤로그로 이동합니다. 11:32 22 0
1265672 자가격리 중인데 원격으로 일시키니까 졷같다 [2] ㅇㅇ(223.38) 11:27 26 0
1265671 컴퓨터 수리기사처럼 컴퓨터 전반에 대해서 알 수 있는 책 같은 거 없냐. ㅇㅇ(124.216) 11:24 21 0
1265670 윈도우10 업데이트를 하고 나서 다시 노트북 키는데 [2] ㅇㅇ(124.216) 11:19 26 0
1265669 언어 추천좀. [8] ㅇㅇ(223.39) 11:17 61 0
1265668 아 팀장새끼 죽여버리고 싶다 [5] Java갤로그로 이동합니다. 11:15 59 0
1265666 1학기 학교 주 6일 출근 달성~~ 큐슈갤로그로 이동합니다. 10:52 38 0
1265665 생각해보니 나도 펀딩받은거였구나 [9] ㅇㅇ(110.70) 10:49 64 0
1265664 튜토리얼 끝나니까 빳데리다됐어요 GS편붕이갤로그로 이동합니다. 10:49 31 0
1265663 머학교에서 전화왔는데 머지 [3] 이스미갤로그로 이동합니다. 10:47 63 0
1265662 c# : Automapper 는 안티패턴 [2] 산적대왕갤로그로 이동합니다. 10:45 37 0
1265661 회사에 지원해본적 없는데 어캐 하는거야? [2] ㅇㅇ(119.195) 10:43 31 0
1265660 ㅋㅋㅋㅋ와 Okky 새끼들 대깨문이네 [4] ㅋㅋㅋㅋㅋㅋ(106.248) 10:38 106 1
1265659 펌웨어 업데이트후 튜토리얼 ㄱㄱ GS편붕이갤로그로 이동합니다. 10:38 24 0
1265658 난 네이버블로그 하고싶어두 못하는데 [2] 치카냥갤로그로 이동합니다. 10:32 52 0
1265657 이거 직관성 좋아요 [2] GS편붕이갤로그로 이동합니다. 10:31 50 0
1265656 연결하니까 바로 마우스가 생겨요ㅋㅋㅋ [1] GS편붕이갤로그로 이동합니다. 10:29 30 0
1265654 나두 네이버블로그나 시작해볼까?? [2] ㅇㅅㅇ(106.101) 10:25 53 0
1265653 장갑키보드 왔어요! GS편붕이갤로그로 이동합니다. 10:21 31 0
1265651 연구실 출근한다 착한과메기갤로그로 이동합니다. 10:19 10 0
1265650 오이오이 다들 코로나 작전주 들어오라구 ㅇㅅㅇ 왕의가슴갤로그로 이동합니다. 10:14 24 0
1265649 올해부터 네이버 블로그 키우는거 ㄱㅊ음 [1] 이스미갤로그로 이동합니다. 10:13 63 0
1265648 이 강의 들을꺼임 이스미갤로그로 이동합니다. 10:12 22 0
1265647 미래는 전자 산업이 확 뜰거같은데 내수는 특히 많이 죽어있다. ㅇㅇ(223.38) 10:09 19 0
1265646 프갤형들 나좀 도와줘 ㅇㅇ(183.97) 10:08 24 0
1265641 장사를 어셈블리어로 표현하면 만남의광장갤로그로 이동합니다. 10:05 12 0
1265640 IT분야가 좋긴좋네 [1] ㅇㅇ(1.240) 09:59 61 0
1265639 블로그 수익 좋은곳이 어디냐?? [3] ㅎㅎ(110.70) 09:57 31 0
1265638 모에 모에 뀽~♥ 받아라 냥덩이의 LOVE BEAM~♥ ♥아지냥이♥갤로그로 이동합니다. 09:51 39 0
1265637 꺄룽~♥ 나님 시작하무니다아아아아아앙~~♥ ♥아지냥이♥갤로그로 이동합니다. 09:49 34 0
1265636 언어순위 어디서봄? [1] ㅇㅇ(211.217) 09:48 16 0
1265635 규모가 있는 회사는 면접 연기도 하는구나 [2] ㅇㅇ(223.38) 09:47 27 0
1265634 표창장 가지고 별ㅈㄹ 하던 윤석영 ㅇㅇ(223.38) 09:40 19 0
1265632 개발자는 재택해도 되지않나 ㅇㅇ(211.36) 09:36 42 0
1265630 내일 면접 보는곳 면접 무기한 연기됨 [2] code1350(223.38) 09:33 41 0
1265629 프갤에서 고랭으로 명칭 통일하면 안되냐 ㅇㅅㅇ [5] ㅇㅇ(119.194) 09:32 55 0
1265628 왜 프로그래머들은 전부 오타쿠인가요 ㅇㅅㅇ [3] 초코냥갤로그로 이동합니다. 09:25 81 0
갤러리 내부 검색
전체게시물 정렬 옵션

오른쪽 컨텐츠 영역

개념글 []

/

    이슈줌NEW

    1/6

    뉴스NEW

    1/3

    힛(HIT)NEW

    그때 그 힛

    1/3

    초개념