PGR21.com 배너 1

- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2016/06/16 23:08:01
Name 트루키
Subject [질문] 프로그래밍 에디터 질문입니다 (emacs , vi)
emacs 와 vi 의 장단점에 대해 궁금합니다.
실리콘밸리 시즌3 에피 중에서 emacs 와 vi 에
대해 나오던데, vi 가 키보드에서 손 많이 안움직이고
작업할 수 있다는 얘기를 예전에 들은 적이 있는데
좀 더 구체적인 장단점을 알고 싶습니다!

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
Je ne sais quoi
16/06/17 00:16
수정 아이콘
종교전쟁을 불러오시렵니까 흐흐
트루키
16/06/17 00:39
수정 아이콘
네.. 스페이스 4칸과 tab 같은 건가봐요..
프로듀사
16/06/17 01:47
수정 아이콘
스페이스!!
탭으로 하면 탭 간격 설정에 따라 보이는게 달라져요!
Je ne sais quoi
16/06/17 11:02
수정 아이콘
그건 tab, 스페이스 8 / 4 / 2칸으로 또 나뉩니다 흐흐
16/06/17 00:35
수정 아이콘
주위에서는 오래전부터 논쟁이 많더라고요 크크
https://en.wikipedia.org/wiki/Editor_war
제목부터 전쟁이라고 하고 있죠 크크 저는 vi만 씁니다
트루키
16/06/17 00:39
수정 아이콘
잘 정리되어 있네요. 감사합니다!
프로듀사
16/06/17 01:50
수정 아이콘
emacs는 안배워서 모르겠고
vi의 장점으로 본문에 적으신 거 설명하면 화살표키 대신 hjkl으로 커서 옮길 수 있어요.
vi 사용할 때 단점으로 가끔 인터넷창이나 워드 같은에서 글 쓰다가도 esc누르고 v같은거 누르게 돼요.
트루키
16/06/17 08:08
수정 아이콘
감사합니다!
Cazellnu
16/06/17 10:52
수정 아이콘
vi 편해요
단점은 물론 진입장벽이겠죠
굳이 더 따져보면
gui환경의 에디터들이 이제는 기본적으로 제공하는
세로모드같은게 부럽긴한데 애초에 콘솔에디터로 사용하니 이건 단점이라고 보기에는 힘들죠
트루키
16/06/17 14:25
수정 아이콘
그렇군요. 답변 검사합니다.
김성수
16/06/17 12:18
수정 아이콘
일단 emacs와 vi 수준에 들어서면 어느 정도 서로 대체가능한 에디터 입니다. 하지만서도 입문용으로는 그래도 vi가 좀 더 수월합니다. 제가 현재 vi를 주력으로 쓰고 있기 때문에 (사실상 많은 에디터를 쓰기 하지만서도..) vi 부분만 잠깐 소개해드리겠습니다.

- 다른 에디터와 달리 모드라는 개념이 있습니다. 6개가 있는데요. 커서 움직이고 삽입하고 명령어 입력하고 이런식으로 구분되어 있어서 왔다 갔다 하시는 것을 먼저 배우실 겁니다.
- 커서 이동을 (화살표로도 되지만) hjkl로 합니다. (저장, 불러오기 관련해서도 기본적으로 명령어를 이용합니다.)
- 다음 단어로 이동, 현재 줄 맨 앞끝(whitespace 구분해서 따로 가능합니다.), 현재 줄 특정 글자, 화면상 첫번째 가운데 마지막 줄, 현재 문장의 맨 앞끝, 커서가 마지막에 있었던 문자열의 첫번째 글자 마지막 글자 첫줄의 맨앞 마지막 줄의 맨앞, 한 줄 위아래 스크롤, 현재 줄이 화면상 첫번째 줄 가운데 마지막 줄이 되도록 스크롤 같은 식의 커서 이동을 단축키로 구현해 냅니다. 이런 커서이동도 내부적으로 만들려면 수없이 더 만들어낼 수 있습니다. 숫자를 붙여서 몇 번 반복할까 개념도 있습니다. (몇 줄 아래로 내려갈까? 식이죠.) 이런 커서 이동과 복사, 붙여넣기, 잘라내기, 수정, 드래그 등을 연계할 수 있습니다.
- 단축키나 명령어를 반복수행하는 기능이 있습니다. (매크로 기능도 있습니다.)
- 클립보드 공간을 따로 제공합니다.
- 특정 커서 위치를 마킹할 수 있습니다.
- 외부 명령어 사용이 가능합니다.
- 다른 에디터와 비슷하게 탭도 됩니다. (모르시는 분들이 계셔서) 다만 여러 가지 기능도 많고 알아둬야할 것도 많습니다.
- ex 명령어와 옵션 개념이 있는데 타 에디터 환경 설정이랑 비슷하다고 보시면 됩니다. 다만 이것도 말그대로 명령어로 수작업하는 것이기 때문에 (저장해놓고 사용가능) 도움말 사용법이나 주요 키워드들은 알아두시는 게 좋습니다.
- 정규 표현식 사용이 가능한대 문법적으로 다른 부분이 있어서 주의하셔야 합니다. (magic 어쩌고 하는 모드가 4개 있다고 보시면 됩니다. 이거 차이점만 비교해도 글 몇개를 쓸 수 있을 정도로 복잡해서 자유자재로 사용하기가 쉽지 않아요.)
- 당연히 플러그인, 패키지 매니저, 빌드, 템플릿, 스니펫, 자동 완성, 폴딩, 헥스 에디팅, 신택스 하이라이팅 기능 같은 것은 다 됩니다.
[ - 그 외에 필요한 기능이 있다 싶으면 각종 명령어와 커서 움직임을 조합해서 직접 구현해 내시면 됩니다. (근데 그 사이에 알아둬야 할 개념이나 주의사항이 정말 많습니다...) 이것이 거의 준프로그래밍 수준으로 가능하다는 것이 실질적인 최대 장점이라고 봅니다. (타 에디터에서 플러그인 만드는 것보다 디테일하고 자유도도 높고 배운 후의 응용도 쉽습니다.) ]

개인적으로 일반적인 에디터를 완전히 이해하고 사용하는 것도 쉬운일은 아니라고 보기도 하고 vi 이상으로 넘어가면 진짜 공부 개념에 가깝다고 봅니다. 간단히 쓰시려면 비효율적입니다. 뭔가 알아내고 추가적으로 배우는 과정이 있을 수 밖에 없습니다. 당장에 뭔가를 만들어야 된다면 추천드리지 않고 조금씩이라도 배워두시면 자산이 되실 거라 봅니다. ^^;
트루키
16/06/17 14:26
수정 아이콘
상세한 답변 정말 감사드립니다. 배우기가 쉽지 않겠네요...
김성수
16/06/17 15:49
수정 아이콘
그냥 에디터겠지하고 켜보면 이게 뭔가 싶으실 수 있고 조금씩 배운다는 마음으로 하시는 게 좋을 것 같습니다. 에디터 내에 기본 튜토리얼도 있고 강좌는 많이 있으니 하신다면 충분히 잘 하실 수 있을 겁니다. ^^;
16/06/17 14:27
수정 아이콘
vi는 상대적으로 에디팅 자체에 좀더 집중하는 도구입니다. Emacs의 장점은 확장성이라고 생각하는데요. 보통의 편집기는 이미 구현이 거의 다 된 상태에서 배포가 되고 기껏해야 플러그인 끼워넣을 수 있습니다. Emacs는 밑바닥에 Lisp 엔진이 들어 있고 많은 기능들이 Lisp으로 구현되어 있습니다. 사용자도 Lisp만 쓸 줄 알면 아무 기능이나 구현해서 추가할 수 있습니다. 게다가 command line에서 동작하는 툴은 자연스럽게 Emacs 안으로 통합될 수 있기 때문에 플러그인을 가져다 쓰는 게 아니라 아무 프로그램이나 가져다 Emacs의 기능인 양 사용할 수 있다는 게 장점 같네요. vi에 비해 키를 좀더 많이 누르는 경향이 있다는 거랑 진입 장벽이 vi보다 높다는 게 단점 같습니다.
트루키
16/06/17 22:34
수정 아이콘
답변 감사드립니다. 기존 에디터 쓰면서 맛보기로 조금씩 써봐야겠네요.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
84859 [질문] [오버워치] 에임 좋은 분들 보면 [3] 삭제됨4873 16/06/17 4873
84858 [질문] 좋은 스케쥴러 하나 추천부탁드려요~ 조키1483 16/06/17 1483
84857 [질문] 다음주 경복궁 더울까요? 당일 낮 서울여행(?) [2] style2258 16/06/17 2258
84856 [질문] 허리 삐끗한 것 같은데 병원이라도 갔다오는게 나을려나요?? 히페리온2482 16/06/17 2482
84855 [질문] 혹시 영단기 아이디 있으신분들 부탁 하나 드려도 될까요? [5] RuleTheGame2584 16/06/17 2584
84854 [질문] 턱걸이 루틴 추천 부탁드립니다. [6] 아싸28년6669 16/06/17 6669
84853 [질문] 갑자기 궁금해진 사양 높은게임 [10] 난순수해3515 16/06/17 3515
84852 [질문] 가산디지털단지에 조금 늦게까지 하는 맛집 있을까요?? [1] 원스1824 16/06/17 1824
84851 [질문] 이런 사람이 있다면 국정원이나 검찰, 국세청에서 조사들어가지 않을까요? [9] msu3529 16/06/17 3529
84850 [질문] [신경계?] Spindle neuron, 혹은 von Economo neurons 에 관한 질문입니다. [2] TheLasid1525 16/06/17 1525
84848 [질문] 포미닛의 남미에서의 인기가 궁금합니다 [5] ll Apink ll3335 16/06/17 3335
84847 [질문] 텝스(TEPS) 질문입니다. [7] 김뮤즈2763 16/06/17 2763
84846 [질문] 컴퓨터견적 질문입니다. [1] nemi1969 16/06/17 1969
84845 [질문] 수원-이천, 여주 출퇴근시간 [2] 윤슬2253 16/06/17 2253
84843 [질문] 홈페이지에 영문 지도를 넣는 방법 [1] Secundo2961 16/06/17 2961
84842 [질문] [오버워치] 밑에 글에 이어 사양 질문입니다.ㅠㅠ [6] 런앤건3116 16/06/17 3116
84840 [질문] [오버워치] 사양 질문입니다(노트북) [1] sensorylab4234 16/06/17 4234
84837 [질문] [오버워치] 피씨방에서 하면 유료게임인가요? [5] 멸치무침3095 16/06/17 3095
84836 [질문] 대학병원 치과 진료 비용 질문입니다 [8] 마제스티4894 16/06/17 4894
84835 [질문] 삼국지 게임 bgm 악기 질문입니다. [4] 하루일기2636 16/06/17 2636
84834 [질문] [오버워치] 사양 질문입니다 [8] BlueSKY--3721 16/06/17 3721
84833 [질문] 국내한정 최고 맛집 어플/블로그/사이트/커뮤니티? [5] 물범2445 16/06/17 2445
84832 [질문] [LOL] 줄어드는 피시방 점유율이 프로게이머/프로씬에 미치는 영향? [11] 보아4154 16/06/17 4154
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로