디시인사이드 갤러리

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

갤러리 본문 영역

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

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

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




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




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

- 야이미친



<이맥스 개종 가이드>


1편

2편

3편

4편


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


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


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


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



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


나는 얼마전까지 이맥스에서 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는 그냥 항상 열고 닫고 하기 때문에



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


C-x g 로 박아놨음


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




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




이렇게 창이 뜹니다.


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


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


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


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


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




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



이러면 스테이지가 되고,


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



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



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


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



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



커밋 메세지 입력하고,


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


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



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



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


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


설정 한 다음에 RET,


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



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


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


하여튼 좋음.




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


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


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



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



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


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


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




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



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


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


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


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


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



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


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



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


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

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



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





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

오늘은 여기까지...

추천 비추천

8

고정닉 4

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 현역으로 군대 안 간게 의아한 스타는? 운영자 25/06/30 - -
공지 프로그래밍 갤러리 이용 안내 [88] 운영자 20.09.28 45082 65
2869035 신입 연봉 4천 어떠냐... [2] ㅇㅇ(39.124) 09:36 11 0
2869033 자야긋다..ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09:20 5 0
2869032 민생지원금 25만원 이딴걸 돈이라고 주는거냐? 헬마스터갤로그로 이동합니다. 09:18 18 0
2869030 현업새기들아 니들 노트북 어케쓰냐 ㅇㅅㅇ 프갤러(211.234) 09:17 9 0
2869029 STA<< 씨발 아직도 쓰는 이유가 뭐냐 키움 씨발련들아 [3] ㅆㅇㅆ(124.216) 09:12 19 0
2869028 아이돌학교에 대해 잘못 알려져 있는 것들 ㅇㅇ(110.70) 09:04 16 0
2869026 테일윈드안좋은거아니냐 ㅇㅇ 프갤러(211.234) 08:44 11 0
2869024 ❤✨☀⭐나님 시작합니당⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 08:42 6 0
2869022 여름철 내몸냄새확인법 ㅇㅇㅇㅇ(115.144) 08:13 16 0
2869020 참새! 멍멍! ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 08:03 12 0
2869019 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 08:01 14 0
2869018 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 08:00 9 0
2869017 임베디드에 공용 라이브러리 동적링크 한다는 병신도 다 있네 프갤러(27.163) 07:59 28 0
2869015 마스터플랜의 망령 ㅇㅇ(121.169) 07:26 10 0
2869013 낵도리아 저사람 ㅇㅇ(118.235) 07:21 16 0
2869012 이거 안되면 내가 납품 포기해야겠다 ㅆㅇㅆ(124.216) 07:20 24 1
2869010 크래프톤 정글 게임테크 ㅁㅌㅊ? [2] 미니애폴리스갤로그로 이동합니다. 06:42 38 0
2869008 왜 자바/웹만하고 취업어렵다는걸까 [2] ㅇㅇ(223.38) 05:36 56 0
2869006 러스트: '성능'과 '안전' 뒤에 숨겨진 '바이너리 크기'의 현실적 과제 루비갤로그로 이동합니다. 05:10 24 0
2869002 사례 2: BusyBox의 존재 이유와 러스트의 근본적인 한계 [1] 루비갤로그로 이동합니다. 04:25 23 0
2868999 꽃사진에서 반사아이디어 찾은게 신기한건데 프갤러(183.101) 03:36 24 0
2868996 이 옵션 ma 운영체제 operating system건들까요? 넥도리아(121.139) 02:34 27 0
2868994 Taskill 하면 tasklist 이스라엘 이란 전쟁 사망자 늘어납니까 넥도리아(121.139) 02:29 39 0
2868989 러스팅 소울 3장: 균열의 시작 루비갤로그로 이동합니다. 01:44 40 0
2868986 드라이버 쇼트로 자주 부팅해서 파워가 얼마나 버틸까요. 쇼트 나고 탄내 [1] 넥도리아(121.139) 01:28 23 0
2868983 Fg ㅇㅇ(223.38) 00:45 18 0
2868982 Hh ㅇㅇ(223.38) 00:44 37 0
2868981 Hg ㅇㅇ(223.38) 00:44 22 0
2868980 그니까 이거지 이제 프로그래머로써의 가치는 LLM보다 뛰어나야하는데 [1] ㅆㅇㅆ(124.216) 00:24 60 0
2868979 Msinfo System Driver만 완벽히 알면 그 외 넥도리아(121.139) 00:23 27 0
2868977 취업할 때 꿀팁 ㅇㅇ(211.235) 00:18 29 0
2868976 Tuf 장치 암호화 immou 많이도 배운다. msinfo 넥도리아(121.139) 00:18 18 0
2868974 기대치가 크면 너무... 넥도리아(121.139) 00:10 42 0
2868973 내가 죄졌나... 커널 암호화해제만 되었을 뿐인데... 넥도리아(121.139) 00:05 46 0
2868971 요즘 mz들은 왜 회식 싫어함? [8] ㅇㅇ(211.235) 00:04 88 2
2868970 여기 토익 800넘는사람있냐? [1] 프갤러(211.235) 00:02 35 0
2868968 요즘 느끼는게 프로그래밍 실력 늘리는게 아니라, RAG 키우기 해야하는 [1] ㅆㅇㅆ(124.216) 07.01 58 0
2868967 IEChooser 넥도리아(175.196) 07.01 19 0
2868965 요새 프로그래밍 최신 기술 서들 대부분 AI쪽이라서 ㅆㅇㅆ(124.216) 07.01 72 0
2868964 증거가 없으면 진짜 증거불충분으로 풀려나?? [2] ㅇㅇ(223.38) 07.01 41 0
2868963 OS가 운영체제가 저 명령 단축키를 거부합니다. 넥도리아(175.196) 07.01 33 0
2868962 Si 회사에서 서비스로 이직 준비중인데 서탈 30개면 포기하는게 맞지? [3] 프갤러(211.36) 07.01 53 0
2868959 불법 바이럴의 최고 수혜자는 과연 누구? ㅇㅇ(110.70) 07.01 31 0
2868956 알리 이새끼들은 왜 다이소보다 싸게팔수있는거냐 ㅇㅇ [1] 뒷통수한방(1.213) 07.01 44 0
2868954 고3 금융권 IT쪽으로 가고싶은데 시험끝나고 해야할 공부랑 질문 [10] 프갤러(1.245) 07.01 122 0
2868952 대구 다음주 낮기온 39도네 [2] 야옹아저씨갤로그로 이동합니다. 07.01 59 0
2868947 너네 근데 AI 토큰으로 쓰냐 정액제로 쓰냐 [2] ㅆㅇㅆ(124.216) 07.01 54 0
2868945 아 나는 왜 이렇게 천재일까 [4] 아스카영원히사랑해갤로그로 이동합니다. 07.01 60 1
2868943 이거 지울까요 윈도우 파일 디렉토리에서 넥도리아(175.196) 07.01 41 0
뉴스 어센트(ASC2NT), 8월 첫 아시아 투어 개최…7월 말 컴백 후 글로벌 행보 본격화 디시트렌드 06.30
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2