EMACS 왜 쓰나요?

lesejong의 이미지

유닉스의 대표적인 편집기인 EMACS와 VI중에서
저는 이제 것 VI만 써 왔는데 가끔 인터넷에 보면
EMACS가 정말 좋다고 얘기하시는 분들도 많이 보이더라구요.
예전에 한번 배워볼려구 했었는데, 적응일 잘 안되었었습니다.
이번에 다시한번 배우고 싶은데,

EMACS쓰시는 분들, 이 편집기의 장점에 대해서 알려주실
수 있습니까? 그리고 저는 윈도우 환경에서 CYGWIN을
이용하여 VI등을 많이 이용하는 사용자 입니다.
조언 주시면 감사하겠습니다.

File attachments: 
첨부파일 크기
Image icon small3.gif36.01 KB
Image icon small2.gif111.45 KB
Image icon small1.gif83.58 KB

댓글

Kroisse의 이미지

ALL IN ONE :twisted:

작은상자의 이미지

테트리스 내장이거든요!

아치리눅스 한국 사용자 모임 : http://arch.korea.com/

luark의 이미지

이에 관한건 여러번 쓰레드로 올라왔었습니다.
vi vs emacs란 쓰레드도 있었고, 한 번 찾아보시기 바랍니다.

---

---
키체의 힘으로 당신에게 평안을...

익명 사용자의 이미지

모두~ 할 수 있으며, 그 모두에 공통된 인터페이스가 적용되니~
편할 수 밖에요

랜덤여신의 이미지

Emacs 는 하나의 플랫폼이라는 말이 있을 정도로... 방대한 기능을 자랑하죠.

저도 언젠가는 써 보고 싶긴 한데... 아직 Emacs 에서 한글 입력이 제대로 안 돼서... 안타깝네요.
'ㅤㅂㅞㄺ' 이나 'ㅤㅎㅐㅎ' 같은 euc-kr 에서 벗어난 한글이 입력이 안 됩니다.
패치를 찾아 봤는데 제 실력으로는 못 찾겠더군요... 직접 패치를 만들 실력도 못 되고... :cry:

또, 리눅스의 xemacs 는 글꼴 관리 방식이 구식이라는 것도 단점이지요... (cvs 버전은 개선이 이루어졌다고 들었습니다.)

죠커의 이미지

VI를 만든 이와 VIM을 만든 이는 Emacs를 쓰고 있습니다. 그런 것을 보면 생각보다 해외가 더 개방적인 것이 아닌가 하는 생각도 듭니다. (Microsoft .NET팀의 인기 에디터이기도 하지요.)

하지만 가장 큰 문제는 RMS가 게을러서 업데이트가 느리다는 것입니다.

xemacs도 RMS에게 열받은 Lucid사가 JWZ를 파견해서 완성한 것입니다. (JWZ는 첫번째 C언어 프로젝트가 Emacs이고 첫번째 C++ 프로젝트가 Netscape이고 첫번째 Java 프로젝트는 Mozilla Grentel인 ㅂㅌ입니다. =3==3)

익명 사용자의 이미지

역시 elisp 이 최대 장점입니다.

거꾸로 말하면 elisp 을 공부할 뜻이 없다면 emacs 를 써도 얻는게 별로 없죠. 남이 만들어준 기능만 쓰게 된다면 다른 에디터들과 별 차이 없습니다. 그저 단축키 복잡한 에디터로밖에 안보이죠.

luxo21의 이미지

elisp를 다룰 수 있다면 모든 프로그래머의 꿈인 내 맘에 쏙 드는 에디터를 만들 수 있으니 그보다 더 좋은 환경은 없겠죠.

하지만 elisp를 잘 몰라도 이미 만들어져 있는 기능들을 하나씩 추가하는 일만 해도 꽤 재밌습니다. 정말 너무 많아서 뭘 골라서 써야 할지 당황스러운 기능들 중에서 하나씩 자신에게 맞는 것을 찾아나가는 재미도 쏠쏠하죠.

IDE 환경으로써는 불편한 점이 있고, EMACS 유저나 LISP 프로그래머 사이에서도 차세대 EMACS는 버전업된 EMACS가 아니라 Eclipse라고 말하는 사람들도 꽤 있지만, 여하튼 아직까지는 최고의 자리에서 얼마쯤은 더 버티지 않을까 생각되는 몇 안되는 환경 중에 하나입니다.

게다가 C/C++/Java가 아닌 다른 종류의 언어 등을 같이 사용해야 한다면 EMACS 하나로 다 끝낼 수 있어서 편합니다.

CN님이 언급하신 JWZ의 Java 프로젝트는 Mozilla Grendel이 맞죠? Javagator 이야기가 나올 때만 해도 Java가 온 세상을 다 덮는 줄 알았지만 여전히 C가 살아남아있는 것을 보면, EMACS도 꾸준히 자신을 변화시키면서 살아남을 것으로 기대합니다.

cinsk의 이미지

왜 쓰냐고 하시면 별로 할 말은 없습니다. 이만한 editor가 따로 없기 때문에 쓴다고 할 수 밖에..

몇가지 좋은 기능을 들자면,

command, filename, word completion.
abbreviation.
compilation/error detection. (M-x compile과 C-`)
grep (M-x grep과 C-`)
내장된 info와 man (M-x info와 M-x grep)
내장된 shell (M-x shell)
내장된 directory/file 관리자 (M-x dired)
recursive edit (query-replace 모드시 C-r)
내장된 calc (M-x calc) - 웬만한 공학 계산기 뺨 칩니다. gnuplot을 이용, graph까지 그려줍니다.
내장된 calendar - schedule 관리, 자신만의 holiday 지정 등등..
styled indentation
file 단위로 customize 할 수 있는 file variable.

이 외에도 많습니다. ;-)

antz의 이미지

저는 elisp 잘 모르구요.

있는 기능을 쓰는 사용자 인데요.

제가 emacs를 프로그램에서 선호하는 이유는...

1. hideshow - folding, 긴 프로그램에서 좋음.
2. cscope
3. Alt-/ - 단어완성
4. 단축이동 - 이동시 화살표, 페이지 UP,DOWN키 찾아 갈 필요 없는것 너무 편함. 단어 이동 편함, 단어 지우기 편함. 줄지우기 편함 등등.
5. 버퍼이용 cut & paste 편함.
6. 컴파일 & 에러이동 편함.
7. gdb 디버깅 편함.

이정도...

emacs를 그나마 잘 사용하게 된것이
조대원님의 .emacs.el 때문입니다.

스샷~

bluecafe의 이미지

Win32 환경에서 EMACS를 사용하시는 분이 계시다면
Win32에서 사용했을때 좋은점 불편한점을 알려 주시면 좋겠네요..

EMACS도 써보고 VIM도 쓰고 있지만 Windows 환경에서
밥 벌어 먹고 사는 직장으로 옮긴 후엔 EMACS쓰기가 쉽지가 않네요..

자세한 세팅법이나 잘 사용하고 계신분의 홈피같은 정보도 주시면 감사하겠습니다.

fox9의 이미지

bluecafe wrote:
Win32 환경에서 EMACS를 사용하시는 분이 계시다면
Win32에서 사용했을때 좋은점 불편한점을 알려 주시면 좋겠네요..

EMACS도 써보고 VIM도 쓰고 있지만 Windows 환경에서
밥 벌어 먹고 사는 직장으로 옮긴 후엔 EMACS쓰기가 쉽지가 않네요..

자세한 세팅법이나 잘 사용하고 계신분의 홈피같은 정보도 주시면 감사하겠습니다.

저의 경우 windows에서도 emacs를 사용하는데 특별히 unix 계열에서의 사용과 별 차이점을 못 느끼고 있습니다.
shell-mode (eshell-mode)에서 약간 틀린 정도라고나 할까요?

snakebird의 이미지

첨엔 에디터인줄알고ㅤㅆㅓㅅ는데 이건뭐....
버퍼스위칭해가면서 다른응용플그램다되고 -_-;

small3.gif 테트리스
small2.gif usenet 리더
small1.gif www브라우저

파일이 3개까지올라가네요
화면을 반으로갈라서 한쪽엔 레퍼런스 (txt파일이나 web연결)
한쪽엔 에디터영역으로해서
작업을할수잇고요 확장시켜놓은 모듈이 하두많아서 ...
sql작업도되고요

댓글 첨부 파일: 
첨부파일 크기
Image icon 0바이트
Image icon 0바이트
Image icon 0바이트
yglee의 이미지

MSDN TV를 보니 MS직원들이 윈도우 프로그래밍을 하는데 emacs로 코딩해서 도스창(cmd.exe)에서 컴파일 하더군요. -_-;;;

kiwist의 이미지

다른 에디터보다 폼나보여서... -_-a

bloomycat의 이미지

랜덤여신 wrote:
Emacs 는 하나의 플랫폼이라는 말이 있을 정도로... 방대한 기능을 자랑하죠.

저도 언젠가는 써 보고 싶긴 한데... 아직 Emacs 에서 한글 입력이 제대로 안 돼서... 안타깝네요.
'ㅤㅂㅞㄺ' 이나 'ㅤㅎㅐㅎ' 같은 euc-kr 에서 벗어난 한글이 입력이 안 됩니다.
패치를 찾아 봤는데 제 실력으로는 못 찾겠더군요... 직접 패치를 만들 실력도 못 되고... cry

또, 리눅스의 xemacs 는 글꼴 관리 방식이 구식이라는 것도 단점이지요... (cvs 버전은 개선이 이루어졌다고 들었습니다.)

euc-kr에 안 들어있는 한글을 emacs 22에 씁니다. 이 때, nabi와 같은 xim
입력기를 써야 합니다. emacs에 있는 입력기로 euc-kr에 안 들어있는
한글을 쓰지 못합니다.

darkblue의 이미지

조대원님의 .emacs.el 를 공유부탁드려도 될까요?? ^^
데비안 사용자 모임은 링크가 깨졌네요..

antz의 이미지

darkblue wrote:
조대원님의 .emacs.el 를 공유부탁드려도 될까요?? ^^
데비안 사용자 모임은 링크가 깨졌네요..

공개가 좀 창피 하시다는군요. ^.^;

개인적으로 메일을 알려주시면,

dot.emacs.el
sun.tar.gz
Xresources_sun
xorg.conf_sun

을 보내드리겠습니다.

Xresources_sun과 xorg.conf_sun
은 emacs에서 sun폰트를 쓰기 위한 부분입니다.

linjus의 이미지

gnoyel wrote:
MSDN TV를 보니 MS직원들이 윈도우 프로그래밍을 하는데 emacs로 코딩해서 도스창(cmd.exe)에서 컴파일 하더군요. -_-;;;

Visual Studio 2005에는 emacs emulating mode인가가 들어가 있던데 MS 내부 직원들의 입김이었던 것이로군요-_-;

MS에 vi를 쓰는 직원들도 늘어나 어서 vi editing mode도 지원해주었으면 하는 바람입니다.

ed.netdiver의 이미지

gnoyel wrote:
MSDN TV를 보니 MS직원들이 윈도우 프로그래밍을 하는데 emacs로 코딩해서 도스창(cmd.exe)에서 컴파일 하더군요. -_-;;;

에이 설마요.
M-x compile이던가 e-shell이겠죠. :D

--------------------------------------------------------------------------------
\(´∇`)ノ \(´∇`)ノ \(´∇`)ノ \(´∇`)ノ
def ed():neTdiVeR in range(thEeArTh)

SoftOn의 이미지

ed. wrote:
gnoyel wrote:
MSDN TV를 보니 MS직원들이 윈도우 프로그래밍을 하는데 emacs로 코딩해서 도스창(cmd.exe)에서 컴파일 하더군요. -_-;;;

에이 설마요.
M-x compile이던가 e-shell이겠죠. :D

저도 봤는데 .net 프로그래밍할때 에디터는 emacs쓰고 cmd.exe에서 컴파일했습니다..

paranoea의 이미지

ed. wrote:
gnoyel wrote:
MSDN TV를 보니 MS직원들이 윈도우 프로그래밍을 하는데 emacs로 코딩해서 도스창(cmd.exe)에서 컴파일 하더군요. -_-;;;

에이 설마요.
M-x compile이던가 e-shell이겠죠. :D

eshell 에서의 컴파일시에 메세지량이 상당할경우, eshell 에서 뿌려주는 속도를 못따라오는것 같습니다. 즉 멈춘것처럼 한참 서 있게 되는경우가 발생합니다.

cmd 에서는 문제가 없죠.

혹시 같은현상 겪는분 없나요?

ed.netdiver의 이미지

좀 오래된 글이긴 합니다만, 뭘 찾다가 눈에 띄어서 댓글 달아봅니다. :)

저는 M-x compile 걸고는, *compile* buffer로 C-x o 로 옮긴 후에 M->로 파일 끝으로 이동합니다.
그러면, compile결과가 scroll되면서 보여지죠.
찾아보면, 이것도 자동으로 해주는 el이 있을텐데 잘 못찾겠더군요. 혹은 compile function에 추가하거나 해도 될법하지만... ;)

이럴 경우 compile 시간 30분 넘는 full compile을 아무리 돌려도 뿌려주는 속도를 못따라가거나 해서 stall된것처럼 보이거나 하는 모습을 본적은, 아직은 없습니다만... :)

\(´∇`)ノ \(´∇`)ノ \(´∇`)ノ \(´∇`)ノ
def ed():neTdiVeR in range(thEeArTh)

--------------------------------------------------------------------------------
\(´∇`)ノ \(´∇`)ノ \(´∇`)ノ \(´∇`)ノ
def ed():neTdiVeR in range(thEeArTh)

only2sea의 이미지

compilation 그룹 커스터마이징 하다 보면 있습니다. 음... 잠시만 뒤적거려 보겠습니다.

compilation-scroll-output
0 - 스크롤 안하기(기본)
1 - 스크롤하기
2 - 첫 번째 에러에서 멈추기

이렇게 있네요.

kernuts의 이미지

SoftOn wrote:
ed. wrote:
gnoyel wrote:
MSDN TV를 보니 MS직원들이 윈도우 프로그래밍을 하는데 emacs로 코딩해서 도스창(cmd.exe)에서 컴파일 하더군요. -_-;;;

에이 설마요.
M-x compile이던가 e-shell이겠죠. :D

저도 봤는데 .net 프로그래밍할때 에디터는 emacs쓰고 cmd.exe에서 컴파일했습니다..


이바닥에서 이미 잘 알려진 얘기입니다.

The knowledge belongs to the World like Shakespear's and Asprin.

cppig1995의 이미지

M-x doctor, M-x dissociated-press, M-x hanoi...

테트리스는 M-x tetris 인가요?

Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.

fox9의 이미지

cppig1995 wrote:
M-x doctor, M-x dissociated-press, M-x hanoi...

테트리스는 M-x tetris 인가요?


네 그리고 아래의 링크를 참조하면 더 많은 emacs의 게임을 보실 수 있습니다.

http://www.emacswiki.org/cgi-bin/wiki/CategoryGames

SoftOn의 이미지

bloomycat wrote:
euc-kr에 안 들어있는 한글을 emacs 22에 씁니다. 이 때, nabi와 같은 xim
입력기를 써야 합니다. emacs에 있는 입력기로 euc-kr에 안 들어있는
한글을 쓰지 못합니다.

xim사용할려면 어떻게 설정해야되나요?

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.