codeblocks

vivisection의 이미지

예전에 code::blocks 를 쓰면서

이만한 무료 ide 는 없다고 생각했는데

요새 emacs 사용하면서

또한번 이만한 무료 ide 는 없겠구나 하고 느꼈습니다

지금은 개발뿐만 아니라 모든걸 emacs에서 처리하고 있습니다

어떤 사람들은 vim같은 것들을 사용하던데

왜 그런걸 사용하는 걸까요?

snowall의 이미지

vi만한 무료 IDE는 또 없을걸요?

피할 수 있을때 즐겨라! http://melotopia.net/b

jachin의 이미지

저는 vim을 쓰고 있어서요. ^^;;;;

저도 왜 vim을 쓰는지는 모르겠습니다만,
이미 손에 익어 버려서,
정규표현식 없이 못산다고 할까요.... ( - -)a

유닉스 환경에서는 아직 vi를 쓰고 있기도 하고,
emacs 환경에 익숙하지 못해서 그렇기도 하고요...

사랑천사의 이미지

그냥 대충 편집하고 쓰기 편해서 사용합니다. Emacs 처럼 뭔가 무겁다는 느낌도 안 들고요. Emacs는 뭔가 무겁다는 느낌이 듭니다. 그리고 단축키나 명령 내리는게 너무 복잡하다는 느낌도 들고요.

거기다가 Emacs로 이거 저거 할 수는 있다고 하지만, 여기 저기 옮겨 다니는 입장에서 오히려 불편함만 가중시키조. 그래서 아예 손을 안 대고 있습니다 지금은. 물론 언젠가는 제대로 써 보고 싶은 생각도 들고 해서 관련 자료들도 보고 그러지만, 한번 손 안 대기 시작하니 아무리 자료를 보고 해도 전 오히려 Emacs를 못 쓰겠더군요.

사람천사

madman93의 이미지

저도 emacs 사용자이기는 합니다만 vim 도 좋습니다.

같이 사용해 보시죠!!

---------------------------------------------
git init
git add .
git commit -am "project init"
---------------------------------------------

36311의 이미지

그 좋다는 Emacs를 한번 배워보고 싶어서 몇번 시도는 했는데, 그때마다 급한 일이 생기면 익숙한 편집기로 돌아가더라고요…

* 포럼 주제와 무관한 신변잡기를 반복해서 올리지 맙시다.
* 질문 게시판 만이라도 익명 글쓰기를 막아야 한다고 생각합니다.

ipes4579의 이미지

vim 을 사용하는 이유중 하나는 컴과인 경우 학교에서 유닉스 or 리눅스를 배울 때 vi 를 사용하기 때문일겁니다.

그러다보면 익숙해지고 실제 할 수 있는건 vi나 emacs 나 크게 차이 없으니 굳이 emacs 쓸 필요가 없겠죠.

근데 전 굳이 emacs 를 사용합니다. 왜냐면 이게 좀더 Geek 스러운 느낌이 든다랄까요 크크. 좋게 말해 geek 스러운거고 나쁘게 말하면 좀더 변태적인거고 크크.

snowall의 이미지

아 근데 저는 geany를 쓰고 있네요

피할 수 있을때 즐겨라! http://melotopia.net/b

ifree의 이미지

앗 죄송,
overrated 를 누르면 어떻게 되나 실험했는데,
스코어가 내려가네요.

hwiorb의 이미지

ide로 쓴다는건, 그만한 설정을 갖춰놓았다는 거겠죠.
emacs가 그런게 있다고, vim은 그런게 없을거라 생각하지 마세요.

emacs의 진정한 맛은 elisp을 맛보기전엔 알수 없듯이
vim은 심플함에 매료되지 않으면, 그 맛을 알수 없다지요.

둘다 가진 색깔이 다르지만, 너무나 매력적입니다 :)

nil.

익명 사용자의 이미지

심플함에 매료된다는말에 공감합니다ㅎㅎ
vim의 진정한 맛이죠 심플하지만 강력한

klenui의 이미지

화해의 몸부림...

(defun vim ()
  (interactive)
  (let ((file-name (buffer-file-name))
	(line-num (line-number-at-pos)))
    (shell-command
     (concat "\"c:/Program Files (x86)/Vim/vim73/gvim\" \"+simalt ~x\" +" (int-to-string line-num) " \"+normal zz\" \"" buffer-file-name "\"" ) nil)))
emptynote의 이미지

적어도 자바는 eclipse도 있습니다.

태훈의 이미지

vim을 주로 사용하지만 간간히 emacs도 쓰고 있습니다.

제 느낌으로는 간단하게 텍스트 편집 시간이 짧은 경우에는 vim이 더 좋은 것 같고, 텍스트 편집 시간이 긴 경우에는 emacs가 더 좋아 보였습니다.

프로그래밍을 할 때는 '텍스트 편집 시간 = 코딩 시간'으로 생각하시면 되겠네요.

왜 그런지는 emacs는 무겁고 vim이 가볍다는 것 말고 여러가지 요인이 있겠지만 그냥 느끼기에 그랬습니다.

Just do it!

JuEUS-U의 이미지

기본설정이 최강이라서 Vim을 씁니다.
참고로 이맥스 기본설정으로 쓸려면 쓰지 마세요 ㅡㅡㅋㅋ

익명 사용자의 이미지

프로그래밍 할 때에 refactoring 이 지원되지 않는 ide를 쓰는 것은 (특수한 경우를 제외하고는) 좀 어리석은 일이 아닌가 합니다.
저도 vim이랑 emacs를 둘다 1년 이상 써 봤지만 (특히 vim은 command mode에서 알파벳 대소문자, 특수문자를 모두 사용해서 navigation하며, script도 종종 사용합니다)
이제는 1~200줄 이상 되는 프로그램을 짤 때에는 항상 eclipse나 intellij를 씁니다.

vim이랑 emacs는 ide라고 하기에는 여러가지로 약하지요. 실제 ide처럼 쓰려면 설정을 많이 해 줘야 하니까요. 그렇게 해도 진짜 ide에 비하면 좀 약합니다.
eclipse처럼 incremental build해서 error나는 부분을 빨간줄로 표시하거나 그런거는 안되는걸로 압니다. (emacs의 경우에는 누가 만들었을 수도 있겠지만, 아마도 stable하지는 않을듯...)
emacs의 경우에는 ide에서 e(nvironment)는 맞는 것 같지만, i(ntegrated) d(evelopment) 부분에서는 역시 설정을 많이 해 줘야 된다는 점, refactoring등에 대한 지원이 부족하다는 점 등에서
ide라고 부를 수 있을지 모르겠습니다.

lisp으로 코딩할 때에는 emacs가 괜찮긴 하겠네요...

klenui의 이미지

현재 c++ 코더이고, 지난번 회사에서는 java 코더였는데... 제 경험내에서 eclipse는 ide계의 사기 캐릭터 입니다...
c++에 그런 ide가 있다면 갈아타겠지만, reflection이 되지 않는 언어에도 그런 ide가 가능할지 의문입니다.

혹시 아시는 분은 추천 좀..

wanderer의 이미지


한때 java 가 메인이었지만
요즘은 c 계열 및 dynamic language 용 플러그인도 많이 나와 있습니다
3.5 초반에 비해서 안정화도 많이 된 상태입니다

klenui의 이미지

리플달아주신거 보고 cdt 설치해서 써봤는데, 몇가지 불만이 있더군요.

1. MS만의 keyword 문제.. preprocessor 설정에서 empty로 define해서 해결 가능합니다만..
2. Precompiled header 지원 문제... 이건 딱히 답이 없는 것 같네요...
3. refactoring시 한번도 사용되지 않은 macro는 적용안되는 문제.. 이건 그리 큰 문제는 아닌것 같습니다만..

사실 제가 원한건 build는 msbuild나 VC ide를 사용하고 에디터만 cdt를 쓰는 건데, 그렇게는 잘 안되는 모양이더군요.
새로 만들 프로그램은 CDT를 써봐야 겠습니다만, 이미 만든 프로젝트에 적용하는 건 좀 힘든것 같습니다.
migration에 관한 글들도 있습니다만, makefile project로 import하라는 건데,
차라리 build가 안되는 건 용서가 되어도 precompiled header 문제로 scanning이 안되는건 문제가 CDT를 쓸 이유가 없어지는 것 같습니다.
현재까지는 MSVC와 함께 쓸만한 IDE는 emacs가 유일하네요..
CDT에 보니까 유용한 기능들이 많던데, 그거 보고 emacs script나 짜야겠습니다..

jsk의 이미지

자삭

JuEUS-U의 이미지

IDE에서 생산성을 가장 많이 높혀주는 기능은
자동완성 종류의 기능입니다. (넓은 의미로 ctags류의 기능)

다른 기능은 솔직히 있어도 없어도 생산성엔 큰 차이 없습니다.
어차피 거의 안쓰잖아요 - _-)

가슴에 손을 얹고 솔직해집시다.
결국은 다 취향 문제라니까요....

익명 사용자의 이미지

IDE 에서 생산성을 가장 높여주는게 자동완성이라고 생각한다면, 뭔가 크게 잘못 생각하고 있는겁니다.

가장 자주 쓰는게 자동완성일 수는 있습니다. 그렇지만 가장 생산성을 높여주는 것은 자동완성이 아니라,
refactoring, incremental compilation , interactive debugging 등입니다.
타이핑 몇자 줄여주는게 생산성을 높이는게 아니라, 코드 디자인을 쉽게 바꿔줄 수 있도록 하는 기능이 생산성을 높여주는 겁니다.
Eclipse나 IntelliJ를 쓴다면 (혹은 그정도의 기능이 있는 다른 IDE) 특정 attribute나 method가 어디서 어떤 식으로 쓰이는지 쉽게 확인하고
해당 attribute/method만 다른 class로 빼던지 하는 refactoring 을 쉽게 할 수 있습니다. (요건 작은 단위의 디자인 수정이기는 하지만...)

솔직해지고 아니고 그런 문제가 아니라, 실제로 제대로 써 보고 경험한 것을 이야기하느냐 아니냐의 문제입니다.
Eclipse/IntelliJ 로 수만~수십만 라인 이상의 프로그램을 짜고, refactoring 기능을 사용해서 프로그램의 디자인을 크게/작게 바꾸고 그런 일을 많이 해 보셨는지요?

저는 vim을 10년 이상 사용했고, vim을 쓸 때에 WinManager plugin(지금은 좀더 좋은 plugin이 있는지도 모르겠지만)과 ctags를 같이 쓰면서 IDE 처럼 쓰려고 노력했습니다.
emacs도 vim 만큼은 아니지만 1년 이상 IDE 와 비슷한 환경을 만들어서 사용해 봤습니다.

지금 Eclipse를 사용할 때랑 비교해 보면, 프로그램 전체의 디자인을 바꿔야 하는 경우에 드는 심리적인 저항은 vim이나 emacs를 사용했을 때의 10%가 채 안됩니다.
실제로 디자인을 바꿀 때 드는 시간과, 바꾸고 나서의 에러율도 훨씬 작고요.
크게 디자인을 바꿀 때 말고도 코드를 부분부분 고칠 때에나 추가할 때에, compilation error 를 그때그때 표시해 주는것도 생산성에 도움이 많이 되고,
버그가 생겼을 때에 interactive debugger 로 디버깅 하는 것도 도움이 됩니다. Local history comparison도 버그를 찾는 데에 도움이 되고요.

실제로 이렇게 경험을 해 보고 생각을 많이 해 보지 않으셨다면, 최소한 단정적으로 말하지는 마시길 바랍니다.

36311의 이미지

간단한 예제좀 부탁드려도 될까요. 위에도 적었듯이, 남들이 좋다좋다 해서 Emacs 배워보려고 몇년에 한번씩(특히 리처드 스톨만 방한할 때) 시도해보지만 전혀 적응을 못하고 있습니다.

p.s 아… 익명이구나. 답글 괜히 달았네.

* 포럼 주제와 무관한 신변잡기를 반복해서 올리지 맙시다.
* 질문 게시판 만이라도 익명 글쓰기를 막아야 한다고 생각합니다.

hwiorb의 이미지

동의합니다.

인텔리 센스와 자동 완성 기능은 코딩하는데 필요한 기능이지만,
개발 초기를 벗어나기 시작하면 Refactoring과 Testing에 더 많은 시간을 할애합니다.
안 그런 경우도 있습니다만, 그런 분들이 작성하신 이해할수 없는 (쓰다 버린 혹은 Copy&Paste) 코드 때문에,
자신 혹은 누군가는 피똥싸는 경우가 생깁니다.
외부(회사) 에 메일을 쓸때, 작성보다 수정에 더 오래걸리는 것을 생각해 보면 되겠죠.

eclipse에는 (제 개인적으로 만능키라고 부르는) Ctrl+1이 있는데, 이 경우에는 에러가 나면, 그 에러에 대한 해결 방법을 보여주고,
그 것을 실행하면, refactoring 또는 class, method뼈대를 자동완성 시켜줍니다. 처음 이걸 보고는, 말이 안나오더군요.

TDD를 해보셨던 이라면, emacs에서 하는 TDD와 eclipse에서 하는 TDD, 뭐가 더 빠르겠습니까?

개발 중기부터는 고객의 미친듯한 요구 조건에 맞춰 프로그램 디자인과 로직이 수없이 변경되는데,
머리속에서 생각나는 수많은 변경점들을 찾고 그걸 수정하려는데, 파일 파일마다 Cut&Paste&Rename하는 것과
키 한 두 번 누르는 것과는 생산성에서 확연히 다르죠("우리는 시간이 넉넉치 않습니다")

nil.

JuEUS-U의 이미지

딱히 영양가가 없는 글이라서
괜히 플레임이 안되게 좀 재밌게 쓰자고 쓴게
글이 완전히 이상하게 되버렸네요...
이런적이 한두번이 아닌데, 장난을 좋아하는 성격상 쉽게 고쳐지지가 않습니다.

원래 말하고자 했던 내용은
1) 대부분의 핵심 도구는 IDE를 쓰지 않아도 사용이 가능하다 <--- ('있어도 없어도')
2) (잡도구를 포함한) 대부분의 도구는 중요도를 떠나 주로 단발성이다. <--- ('거의 안쓴다')
이니까 [개인이] IDE를 쓰는 것도 어차피 취향이다..입니다.

특히 1번은 말을 짧게 줄인다고 줄인게...
아무튼 이번에는 좀 길게 써보도록 하겠습니다.

제가 인텔리센스류를 강조한건, 자동완성 기능은 항상 쓰이고, 간혹 정말 큰 도움이 되고 (inheritance...), IDE에서만 사용 가능한 IDE만의 강점이기 때문입니다.
error correction 역시 같은 의미로 IDE만의 강점입니다.

하지만 다른 주요 기능들은 "IDE의 기능"이 아니라, 단순히 "IDE에 통합된 기능"입니다.
지금까지 언급된 IDE 기능인 refactoring, interactive debugging, compiling, unit test는 전부 3rd party 툴이 존재합니다.
IDE는 수정이 어렵기 때문에 (요즘엔 extension이 있지만...)
상당수의 기능이 3rd party로도 제공이 된다는 것은 크게 놀라운 일이 아닙니다.

그리고 IDE의 대부분의 각 기능이 단발성이라는 점에는 큰 이견이 없을거라고 믿습니다.
compiling은 시작할 때 잠깐 설정하면 끝까지 거의 안바뀌고, refactoring도 좀 쓰고나면 한동안 안쓰고, unit test도 한번 완성해 놓으면 한동안 안건드리는건 너무나 당연한 사실입니다.
각 툴을 사용하는 시간은 코드를 읽고, 생각하고, 수정하는 시간에 비하면 정말 짧습니다. (개발을 지원한다는 본연의 목적을 고려한다면 짧아야만 하죠.)
이는 IDE의 기능 대신에 3rd party tool을 사용하더라도 큰 불편이 없다는 것을 의미합니다.
실제로 IDE와 함께 3rd party tool을 deploy하는 프로젝트를 많이 봐왔지만, 개발이 힘들다고 하는 경우는 한번도 못봤습니다.

결론적으로 얘기해서, IDE를 사용하지 않아도 대부분의 기능을 큰 불편없이 이용이 가능하므로
IDE의 사용여부는 결국 개인 취향이라는 겁니다.

다만 IDE의 진정한 빠와는 관련기능을 통합(연계)해서 제공하는 것으로
툴들의 사용성, 개발의 편리성, 프로젝트의 유지관리 용이성을 획기적으로 높여줍니다.
개인은 쌩까더라도, 회사에서 쌩까면 그건 정말 큰 문제죠 - _-)...

그래서 저도 IDE 쓸 줄 알고, 썼었고, 앞으로 필요하다면 쓸겁니다.
단순히 오리지널 vim의 편집기능이 사기적이라서 도저히 놓지 못할 뿐입죠우 = ω=)b

jick의 이미지

vim은 맨날 쓰고 eclipse는 저번에 자바 코드를 건드려야 할 일이 있어서 며칠 깨작거려 보다 결국 거품물고 포기했는데...
물론 며칠 쓰고 장단점을 논하는 건 어거지겠지만, 그 많다는 장점에도 불구하고...... 너무 느리더군요. 한번 띄우면 시스템이 버벅버벅...

가끔씩 회사에서 "버그 수정하려고 eclipse를 띄웠는데 뜨는데 하도 오래 걸려서 그 시간에 vim으로 버그 고치고 코드 커밋하고 보니까 eclipse 아직도 안떴더라" 같은 무용담(?)이 회자되곤 합니다.

익명 사용자의 이미지

언제 써 보셨는지 모르겠지만, 구입한지 3년된 제 컴퓨터에서는 아무런 문제없이 쓸 수 있습니다.
심지어 이클립스 2개 띄워서 쓴 적도 있었는데 속도에 관한 불만은 없었던 걸로 기억합니다.

예전에 써 보신거면 요즘 컴퓨터에서 최신 버전을 받아서 써 보시기를 권합니다. 아마도 만족하실만한 속도가 나올꺼라고 봅니다.

kirrie의 이미지

음... 오랜만에 건전한(?) 주제로 대한민국 geek들이 불붙겠군요.
자, vimpire들은 집결해서 전열을 가다듬습니다! ㅋㅋㅋ

--->
데비안 & 우분투로 대동단결!

ydhoney의 이미지

어떻게 vim을 사용하는데 있어서 의문을 품는거죠? 신기하네요. 흠흠;;

oosap의 이미지

저는 개발시에 vim 을 사용해 본 적은 있습니다. 억지로 vim을 익히고 싶었기 때문이예요.
심지어 윈도우즈에서도 gVim을 사용하면서 컴파일과 디버깅만 비주얼스튜디오로 한 적도 있습니다.
그런데 IDE 로서의 vim 에 대해서라면 저는 잘 모르겠습니다. 경험이 미천하고요...
일단 IDE로 vim 을 쓰는데 제가 불편한 것은 빌드와 디버깅환경 등이 통합되지 않았다는 것이예요.

- 여러분들 모두 빌드와 디버깅시에도 vim 환경에서 하시나요?

>> 지금은 개발뿐만 아니라 모든걸 emacs에서 처리하고 있습니다
>> 어떤 사람들은 vim같은 것들을 사용하던데
>> 왜 그런걸 사용하는 걸까요?

- 발제하신 분 글 마따나 IDE 라고 한다면 개발과정의 통합된 환경이 지원되는 것일텐데요, 정말 vim 으로 그런 환경을 구현해서 쓰시나요?

제가 하는 방식은 편집과 소스브라우징은 vim 에서 컴파일은 make 나 gcc 를 쉘에서 구동하거나 혹은 이클립스나 비주얼 스튜디오를... 디버깅도 이클립스나 비주얼스튜디오 혹은 gdb, ddd 를 직접 쉘에서 씁니다.

Thanks for being one of those who care for people and mankind.
I'd like to be one of those as well.

ymir의 이미지

:make 입력하면 바로 make 실행해서 결과를 보여주고..
:make | copen 라고 입력하면 split window 로 에러 메시지를 띄워줍니다.

:cn 이나 :cp 등의 명령어로 에러가 난 라인으로 이동할 수도 있구요.

:help quickfix 해보시면 quickfix 에서 make, grep 까지 명령어 목록을 볼 수 있습니다.

그 외에 taglist 나 cscope map 정도의 plugin 만 깔아도 충분할겁니다.

debugging 은 대충 printf 나 눈으로 하고, 찾기 어려운 문제는 core dump 떠서 보는게 편해서..
굳이 vim 에 연동할 필요를 못 느끼네요.. (gvim 에 gdb 연동하는 플러그인이 있는것 같더군요)

emacs 를 안 쓰는 이유는, 구닥다리 서버를 전전하며 vi 만 있어도 만세를 부르던 시절이 있었고..
아직까지는 터미널 환경에서 vim 에 별다른 불편을 못 느꼈기 때문입니다.
emacs 가 IDE 인지는 잘 모르겠는데, vim 은 그냥 editor 죠.. =)

근데 실제 메인 코딩은 samba + source insight 로 하고, vim (taglist, cscope) + screen 조합으로 보조하네요.
(C 만 쓰고, 아주 어쩌다 가끔 c++ 만져 볼 때가 있기는 함)

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

oosap의 이미지

네, 제가 아직 배울게 참 많은 것 같습니다.
좋은 팁들 올려주셔서 감사합니다.

emacs 에 대해 하시는 얘기들을 보니까 emacs 도 좋은 것 같아요..
배울게 끝이 없군요..

Thanks for being one of those who care for people and mankind.
I'd like to be one of those as well.

amorette의 이미지

처음 리눅스를 접하게 될 때, 여러 편집기를 각각 사용해 보았습니다.
그중에서 불편한 것을 하나씩 제하면서 남은 하나를 사용하기로 했습니다.
대부분의 편집기는 여러 불편함이 있었기 때문에 vim과 emacs가 남았습니다.

그런데 단 한가지의 이유, 입력 모드와 명령 모드 사이를 전환해야한다는 것 때문에 emacs를 선택했습니다.
모드를 전환하는 대신 ctrl키 한번 더 누르는 것이 훨신 빠르기 때문이었죠. 개인적으로 그게 더 편했기 때문입니다.

emacs를 선택해서 생기는 불편함은, 다른 환경에 emacs가 없는 경우입니다.
물론 로컬에서 ssh을 통해 접근하는 상황이라면 tramp를 사용하여 로컬의 emacs에서 ssh 프로토콜을 사용할 수 있습니다만.
직접 다른 컴퓨터 앞에 앉게 될 경우 문제가 됩니다.

그럴 때에는 결국 vim을 사용합니다. vim의 기본 설정은 보통 가벼우면서도 충분히 풍부하구요.
java를 써야 할 때에는 결국 Eclipse를 사용하고요.

IDE로 사용하기에는 vim이 부족하다고 느끼신 모양입니다.
그거라면 사실 emacs도 다를 바 없습니다.

klenui의 이미지

에디터 이야기 나온김에 , 배워야지 하다 미뤄둔 nano를 대강 써봤는데...
undo가 안된다는 사실에 놀랐습니다.

이거 왜 쓰는 거죠..??

cinsk의 이미지

editor보다 훨씬 더 다양한 것이, 각자 업무 내용일 겁니다.

어떤 사람은 하루 종일 Java 코드만 바라볼 것이고,

어떤 사람은 하루 종일 C 코드만 바라볼 것이고,
- 그 중에서도 library만 작성하는 개발자,
- 그 중에서도 GUI 쪽 code를 작성하는 개발자,

어떤 사람은 lisp, python, ruby, 등 script를 전문적으로 만드는 사람,

어떤 사람은 C, C++, ruby, python, bash script, lisp, Makefile 등을 다뤄야 하고,

어떤 사람은 코드보다는 문서 작성(latex, html, xml, docbook)을 전문적으로 처리해야 하고, 등등.

(저는 Java를 모릅니다. 그리고 각종 IDE (VS, eclipse, etc.)를 써 본 적도 별로 없습니다. 그래서 오류가 있을 수 있으니 지적바랍니다.)

경험상 널리 알려진? IDE라고 하는 환경들은 대부분 특정 언어 또는 platform 환경에 종속적인 경우가 많습니다. 따라서 그런 특정 언어 또는 platform에 대해서 전문적으로 개발을 해야 한다면 그 계통에서 잘 알려진 IDE를 쓰는 것이 올바른 선택일 겁니다.

반대로, 다뤄야 하는 범위가 매우 다양할 경우, (예: xml validation, json generation, C/C++/ruby/python/scala coding, Makefile, valgrind checker, GIT/CVS/SVN control, heavy text processing, debugging, gnuplot) 선택할 수 있는 경우의 수는 많지 않습니다.

보통 compile 환경이라고 하면, 편집 도중에, 컴파일을 수행하고, 에러를 보여주며, 에러를 선택하면 해당 소스 위치를 보여주는 것을 말합니다. 여러 범위를 다뤄야 하는 경우, Emacs가 좋을 수 있습니다. 왜냐하면 make, GNU tool 모두 (sed, awk, gcc, bash 등), java, php, perl, xmllint등, 다양한 툴을 쓸 수 있기 때문입니다. (약간의 수정을 통해 valgrind도 지원하게 할 수 있습니다.)

또한 제작한 프로그램의 출력을 받아서, 가공하고, 이것을 다시 타 프로그램에 입력으로 넣고, 그래프(보고서)를 그리게 하고 하는 등의 작업을 할 때 유리합니다. (M-x shell-command-on-region, org-mode와 gnuplot.el 또는 calc mode 등)

또한, 책을 만들 정도의 분량의 text를 취급한다면, 그리고 정말 복잡하지만, 규칙이 있는, 그런 text 작업을 자동화하고 싶다면, emacs 말고는 생각이 안나네요. emacs 말고 다른 editor/ide에서 recursive-edit 기능 (현재 emacs 상태를 잠시 보류하고, 새 command-loop에 들어감. 예: interactive replace를 하던 도중 replace 작업을 잠깐 멈추고 다른 작업을 하다가 다시 복귀), regular expression에 코드를 넣을 수 있는 기능 (타 editor에서는 불가능)

개인적으로, 보통 IDE라고 부르는 tool들은 특정 개발 언어/framework에 대한 [코드작성-컴파일-디버그] 범위의 기능을 제공하는 것 같습니다. 제가 보기에 Emacs는 다양한 언어/tool에 대한 [코드작성-컴파일-디버그] 뿐만 아니라, coding 수준의 강력한 macro(elisp) 또는 치환기능, 문서 작성(org-mode, latex), memo (org-mode 또는 remember), 일정 관리 (org-mode)... 등을 제공합니다. 좀 더 범위가 넓다고 할까요?

Emacs는 많은 분들이 요구하시는? 일반 IDE에서 제공하는 intellisense나 auto-completion에 대한 기능은 다소 떨어집니다. 물론 ECB로 제공되긴 하지만, 만족할만한? 상태는 아닐 겁니다. (저는 ECB를 예전에 잠깐 써서 현재 수준은 잘 모름)

대신, 비슷한 기능을 제공하긴 합니다. Emacs의 auto-completion은 현재 파일 이름이나, 버퍼에 있는 내용을 바탕으로 단어를 완성해 줍니다. 또, yasnippet과 같은 module을 쓰면 여러 언어에 대해 다양한 snippet을 제공하여 typing을 줄여줍니다. 저도 꽤 많은 양의 코드를 만들어봤지만, Emacs auto-completion과 yasnippet 등만 쓰는데에도 불편을 느낀 적이 없습니다. :)

익명 사용자의 이미지

전반적으로는 많은 부분 동의를 하고요, 그렇지만 IDE에 대한 기대치는 좀 낮으신 것 같다는 생각이 듭니다.

>> Emacs는 많은 분들이 요구하시는? 일반 IDE에서 제공하는 intellisense나 auto-completion에 대한 기능은 다소 떨어집니다.

위에서도 이야기했지만, auto-completion 정도는 IDE에서 가장 중요한 기능은 아닙니다. (물론 없으면 불편하고, 자주 쓰기는 하지만, 생산성 향상에는 타이핑 몇자 덜하는게 크게 영향이 있는건 아닙니다)
refactoring, interactive debugging, incremental compilation 등이 중요하고 생산성 향상에 도움이 되는 기능입니다. 또, eclipse에서는 어떤 class에 compilation error가 있어도 그 class에 있는 code를 사용할 수 있습니다. compilation error가 있는 부분만 runtime에 access가 안된다면요. (compilation error가 있는 부분은 eclipse에서 runtime에 error가 나도록 바꾸지요) 이런 기능은 refactoring을 크게 해야할 떄에 refactoring 중간에 test를 쉽게 할 수 있도록 도와줍니다. 생산성 향상에 도움이 안될 수가 없지요.
물론 이 모든게 java를 주로 사용할 때에만 해당되기는 합니다. (cdt는 아직 완벽하지는 않은 것 같더군요)

Text editing 그 자체만 봤을 때는 vim이나 emacs가 훨씬 더 낫다고 생각하지만, IDE로서는 eclipse에 비해서는 한참 부족하다고 봅니다.

익명 사용자의 이미지

> regular expression에 코드를 넣을 수 있는 기능 (타 editor에서는 불가능)
> coding 수준의 강력한 macro(elisp) 또는 치환기능

jEdit에서 가능합니다 : ) beanshell 이라는 자바와 유사한 스크립트 언어를 사용합니다.
말씀하신 "범위가 넓은 다양한 용도"로 저는 jEdit 를 사용합니다. 여러 플러그인 덕분에 가능하지요.
emacs 보다 좋은 점은 플러그인의 중앙집중형 저장소가 있어서 설치나 의존성 관리 등등이 쉽다는 겁니다.
하지만 어느 정도 이상 큰 개발을 하려면 역시 IDE가 필요합니다. 개발 속도에서 차이가 너무 납니다.

vivisection의 이미지

제글에 이렇게 많은 댓글이 달린건 첨입니다
많은 관심 고맙습니다.

제가 emacs를 ide라고 말한게 많은 논란을 가져온것 같습니다
ide라고 한다면 다들 아시다시피 컴파일러, 디버거, 소스에디터 이렇게 3개 포함되어야 하는데
emacs에는 컴파일러와 디버거가 없습니다 (c++ 관점에서 봤을때)
그래서 결국 ide는 아니고 소스코드 에디터나 원래 이름대로 메크로 에디터정도 되겠습니다만..
code::blocks나 eclipse도 gcc 나 jdk는 포함 안되있어도 보통 ide로 보기때문에 emacs도 ide라고 했습니다

그리고..
vi 사용자분들이 꽤 많으신데요..
저도 emacs를 잘 모를때는 vi를 그나마 더 잘햇습니다
근데 emacs를 알고나니 vi 사용할 이유가 없어졌습니다

한가지만 예를 들어보겠습니다
커서 이동할때 esc 누른다음에 hjkl 눌러가면서 이동하는게 빠를까요?
아니면 Ctrl + n, p, f, b 로 이동하는게 더 빠를까요?
vi는 이동한다음에 다시 i를 눌러줘야죠..

그리고 vi 많이 사용하다보면 다른 편집기에서도 esc - : 이런거 막 헛나갑니다

위같은 이유들도 있지만 제가 emacs를 사용하는 가장 큰 이유는
emacs는 재밌습니다
뭔지 모르게 재밌습니다
vi나 다른 에디터에서 느껴보지 못했던 그런 재미가 있습니다(저는 변태일까요? 이런데서 재미를찾다니)
모르는분이 보시면 그저 단축키만 많은 에디터라고 생각하실수도 있지만
단축키 외우는것도 재밌고 써먹는것도 재밌습니다

그리고 또하나의 이유는
저랑 마음이 통한건지 아님 독심술이 있는건지 대부분의 경우에서 기본설정만으로
제 맘에 딱 들게 설정이나 기능들이 잡혀있습니다
물론 좀더 커스터마이징하게 맞출려면 설정을 좀 손봐야 하지만요..

그리고 위에 어떤분이 eclipse를 사기케릭이라고 말씀해주셨는데요.
전 개인적으로 장애케릭이라고 생각합니다

일단 eclipse 깔려면 몇백메가 하는 자바를 깔아야 합니다
그리고 처음 구동시킬때 겁나게 느립니다
자바야 깔면 되는거고 킬때 느린건 한번만 기다리면 되기때문에
큰 문제는 아니겠습니다만... eclipse를 장애캐릭터로 만들어버리는 가장 치명적인 문제가
타자를 조금 빨리치면 입력된 키중에 몇개를 노칩니다
그럼 그거 의식하면서 천천히 쳐야되고 그러면 또 맥이 풀리고.. 그러다가 eclipse를 지우게 됩니다

eclipse뿐만 아니라 자바기반 에디터들 다 그렇더군요 (netbeans, jedit 등)

emacs가 처음 접할때 인터페이스도 구식이고, 구형키보드에 맞쳐져 있고 그래서
많이 어색하지만, 키보드에 caps lock, control, lef-win 이 세가지 키 키맵바꾼다음에
간단한 단축키 몇개(ctrl - fbnp, ctrl - v , alt - v, ctrl - a, e , alt - a, e , ctrl - x s
ctrl - x w , ctrl - x c ctrl - x 2, ctrl - x k , alt - < , alt - > 이정도..? ) 외우고
사용하다보면 금방 익숙해 집니다

익명 사용자의 이미지

VIM