PGR21.com
- 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
수정 아이콘
답변 감사드립니다. 기존 에디터 쓰면서 맛보기로 조금씩 써봐야겠네요.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
84830 [질문] 비행기 무서우신 분 있나요? [19] 갈릭반핫양념반3822 16/06/16 3822
84829 [질문] [오버워치] 5디바 1루시우 어떻게 막나요? [16] 후제4195 16/06/16 4195
84828 [질문] 프로그래밍 에디터 질문입니다 (emacs , vi) [15] 트루키4207 16/06/16 4207
84827 [질문] 이민에 대한 방송을 찾습니다 [다큐] [2] papaGom3364 16/06/16 3364
84826 [질문] 십자인대 부분파열이후 헬스 질문입니다 [10] longtimenosee2912 16/06/16 2912
84825 [질문] 이번에 옥시 쓴다고 밝혀진 공기청정기 c사 이용 중인데요.. 바카스2343 16/06/16 2343
84824 [질문] 최근 치과에서 인레이 치료 받아보신 분!! [12] 범일동3137 16/06/16 3137
84823 [질문] 밑에 이어서 컴맹 조립식 컴퓨터 질문입니다. [7] 귤마법사2321 16/06/16 2321
84822 [질문] 게임 구매 관련 질문입니다.(오버워치, 드래곤볼 제노버스) [4] Tristana3645 16/06/16 3645
84821 [질문] [오버워치] 돌릴라면 얼마정도 컴퓨터 사야하나요?? [4] 미생2993 16/06/16 2993
84820 [질문] 중고cpu를 샀는데 잘 작동하는지 확인하는 법 있을까요? [2] 이홍기2407 16/06/16 2407
84819 [질문] 소개팅 에프터때 뭐하나요? [5] cse4452 16/06/16 4452
84818 [질문] [LOL] 롤챔스관련 불판보다가 궁금한게 생겼습니다. [8] 예비군좀그만불러3396 16/06/16 3396
84817 [질문] 소수자나 약자에 대한 인식에 관해 [10] Anthony Martial2500 16/06/16 2500
84816 [질문] 서울 삼계탕 맛집 추천 부탁드려요 [9] 뜨거운형제들2312 16/06/16 2312
84815 [질문] 프린트 종이걸린거 쉬운해결방법 있나요? [2] 순수한사랑2027 16/06/16 2027
84814 [질문] 컴맹인데 조립식 컴퓨터 쉽게 살 수 있을까요? [11] 귤마법사2811 16/06/16 2811
84813 [질문] [오버워치] 승률 신경쓰시나요?? [17] 타인의 고통4492 16/06/16 4492
84812 [질문] 담배를 아내에게 들켰습니다. [24] Anti-MAGE4569 16/06/16 4569
84811 [질문] 적정 대출 금액은 어느정도 일까요..? [9] 딱좋은나인데5258 16/06/16 5258
84810 [질문] FPS 장르가 진입 장벽이 낮나요? [40] 계란5656 16/06/16 5656
84809 [질문] 여시하는애?? [40] 삭제됨6172 16/06/16 6172
84808 [질문] PC vs PS4 [13] 잠이오냐지금3152 16/06/16 3152
목록 이전 다음
댓글

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