
Let's just use Emacs - codeup
http://beastwithin.org/users/wwwwolf/fantasy/avarthrel/blog/2011/05/lets-just-use-emacs.html
======
raganwald
Articles about why anything you can do in a "simpler" text editor can and
should be done in emacs strongly resemble articles about why anything you can
do in a less powerful programming language can and should be done in Lisp.

I don't think it's a coïncidence.

~~~
swannodette

      Simple text editor = simple + powerful
      Emacs = complex + powerful
      Lisp = simple + powerful
      Blub = complex + powerful
    

Given this your association doesn't make much sense.

I think most people prefer simple + powerful. And this isn't black and white -
Blub can often be simpler for X simple task. However the real yard stick is
whether as your problem domain gets more complex does Blub suddenly lose its
_veneer_ of simplicity?

I always bring up Alan Kay in these kind of threads but his observations are
always so damn salient - agglutinative PLs (features) vs style PLs (simple
principles).

~~~
Goladus
Most of my emacs customizations are pretty simple. M-x [ and M-x ] start and
end macros. f5 runs a macro instead of C-M-x e. f6 copies the entire current
line. f7 is line-goto. f9 is replace-string, f10 is replace-regexp. M-x g is
whole-buffer-copy. I have a bunch of functions that insert standard shebangs
and other script boilerplate, which are easily mapped to function keys if I
need them.

I've got some other more complex customizations that I don't use very often,
for example a set of functions that let me cycle through various
background/text color schemes. For awhile I had that mapped to f8. I've also
effectively used hotkeys that generate documentation/comment templates. But
those tend to come and go, and when I'm not using them they don't interfere at
all.

Beyond a few fundamental things, emacs is only as complex as it needs to be.
Yes, it's a fairly large base install compared to vi, or a simple text editor,
but so far it's never been big enough to get in my way.

------
parfe
I use Emacs for coding, wanderlust mail, rcirc and jabber-el. All which are
provided as packages in the distros I run.

I've been trying to get into clojure which entails installing clojure-mode,
swank-clojure, leiningen (which brings the pain of maven) and slime. This is
where emacs has always broken down for me. Once I step outside the distro
provided packages I find broken tutorials, unspecific versions, and
instructions written like:

    
    
        First install package.el.
        Add to your .emacs: (add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/"))
        C-x C-e to evaluate it, and you're good to go!
    

<http://marmalade-repo.org/>

Except that didn't work in two of the three emacs installs I have. Any time I
need to download an elisp file I dread reading the instructions. Too often the
author forgot that he loads some other required package in his 1000 line
.emacs/init.el file. Then you end up with half a set of instructions.

I think the only solution to the problem would be package maintainers
providing instructions for how to install their package in a specific vanilla
version of emacs from scratch with no other changes. But if they have to give
up their custom emacs configs they won't be able to write up an explanation.

~~~
astine
Whenever installing software for Emacs, it's usually worth checking ELPA
<http://tromey.com/elpa/> (which comes installed on Emacs by default now,) to
see if the package is there already. The ELPA provide both slime and clojure-
mode and they work out of the box with swank-clojure. You'll still need to
install Leiningen/Cake with swank-clojure separately, but there isn't much
Emacs can do to help there.

~~~
parfe
Ah, but now you're not following the instructions provided by swank clojure
which says to use marmalade (which is an elpa
extension/replacement/clone/additional repository?)

The clojure-mode available through elpa ( clojure-mode 1.7.x) is not new
enough to deal with swank-clojure which needs 1.9.x (specifically I was after
M-x clojure-jack-in)

Plus, the elpa instructions don't include emacs23 because it allegedly comes
with 23 (even though the elpa website does not say this). But elpa is not
included in emacs 23 on Gentoo.

And thus an evening of mine is lost to trying to get the same emacs
environment running on my Gentoo desktop and Ubuntu laptop.

Obviously my problems could be from a lack of experience with Emacs, but I
hate that using a text editor is so hard.

And another example is the pain of trying to build wanderlust from scratch
which requires apel, flim and semi. Some of which were ONLY hosted on
abandoned FTP servers. Luckily Dave Abrahams recently moved those scattered
and abandoned packages to a single place <https://github.com/wanderlust>

~~~
GrooveStomp
I can't say that I've run into this exact issue, or even exactly what the
issues have been that I've run into with Emacs, but I know I've spent many
hours reading instructions, following tutorials and generally just trying to
get a basic emacs/lisp setup running. It's really difficult to do. I think I
had a partially working Clojure setup, but then I tried to make it support
Common Lisp in addition, and things completely broke down.

I'm not claiming to be a genius level programmer here, but I don't think I
have to make that claim either. There's something seriously wrong with Emacs
when an experienced programmer has serious issues setting up a basic
development environment.

For comparison's sake, I hit "comfort-level" with Vim within two weeks,
including a fully customized .vimrc, colour files and keyboard navigation.
After a month of using Emacs I was somewhat comfortable with the keyboard
shortcuts for basic navigation, but didn't know how to do several things that
I could do in Vim. I also had no idea how to add syntax highlighting for
language X - managing only to get it working for one dialect of Lisp and
nothing else. Ah, and installing from ELPA had a nice tendency to show me
error messages instead of actuall installing anything.

Bah, sorry for the rant. It just frustrates me when I hear about Emacs and how
great it is, and I totally get on-board with it, but then it's just this
fustercluck of configuration hell that never ends well.

~~~
technomancy
> I think I had a partially working Clojure setup, but then I tried to make it
> support Common Lisp in addition, and things completely broke down.

This is due to the SLIME developers' insistence on making everyone run from
CVS trunk. I wish I were joking, but they really seem to have no interest in
creating stable release packages, so I have to go in and try to make it work
without their cooperation.

~~~
GrooveStomp
Interesting. For what it's worth, I plan to give Emacs another go pretty soon
here, but I'll be sticking with Common Lisp. I'm kind of done my courting
period with Clojure.

~~~
aerique
Emacs + Slime for CL should be a piece of cake as long as you don't insist on
using your distribution's packages. Mail me (see profile) when you run into
any problems and I'll help you out.

~~~
GrooveStomp
Thanks! I'll give it a good, honest go and if I run into issues, I'll take you
up on your word. :)

------
singular
I deeply love emacs, but its crustier elements really bite on a regular basis.
The amount of effort required to make it non-ugly is just... unpleasant (a
problem I've noticed with a lot of gnu ui stuff, both with applications and
websites - appearance matters guys), the lack of namespaces in elisp is quite
horrid (though it's very nice to have a lisp as the language of choice), the
weird annoying regex conventions, and just lots of little things (I'd have to
sit down and record them as I go to be able to list 'em) which degrade the
experience.

By the way, take that as intended - I love emacs very much, but as with people
so with software - the little things a beloved gets wrong can be unbelievably
annoying... :)

~~~
gecko
I'm with you. Making Vim look pretty involves adding ":color <whatever>" to
your .vimrc. Making Emacs look pretty involves installing color-theme,
hopefully compiling it so it doesn't take forever to load, editing your
.emacs.d/init.el since you can't customize that via customize-apropos (AFAIK),
and so on. Likewise, I'm with you that the default regex implementation
is...surreal, at best. Having reb-re-syntax be 'string should be the default.

On the bright side, look at what we're discussing here: the default regex
syntax and pretty colors. Compare that to about five years ago, when we'd be
instead discussing how to compile Emacs in a way that had fricking TrueType
font support. Emacs _has_ come a long way.

~~~
singular
Yeah, both 21 -> 22 and especially 22 -> 23 were vast improvements. Appearance
issues aside however, emacs is starting to feel a little like windows in a way
(uh oh downvotes ahoy), in that it's lumbered by backwards compatibility
considerations. Emacs with namespaces + a nicer lisp would be... something
very special.

~~~
gecko
They've added lexical scoping in trunk in a fully backwards-compatible way; it
wouldn't be hard to do namespaces and a "nicer Lisp" (by which I'm assuming
you mean Guile?) in a similar manner.

That said, the number of people who hate on Elisp is surprising to me. No, a
hacked-up version of Maclisp is not the best Lisp in existence. But,
seriously, you're competing against _vimscript_. Will even the most diehard
Vim addict actually argue that vimscript is even _comparable_ to Elisp?

------
hesitz
"org-mode developers, in turn, just ask a relevant big question: 'why use
separate files when you can conveniently stick the stuff in one file,
dammit?'"

It surprises me that you could come away from org-mode thinking that the
developers thought you should stick everything in one file. One of the main
strengths of org-mode is the way it frees you to put stuff into separate
files, wherever you want, and then use the agenda to consolidate them into a
single view.

Having said that, yes, org-mode is freaking awesome.

------
va_coder
You think 20 years from now people will still be voting up articles about
Emacs and Vim? just curious

~~~
dexen
Yes. They are bound to be discovered and re-discovered by every generation.
They are the kind of tools that get the job done. There's also still a lot to
be discovered about those editors themselves.

Besides, to quote Wikipedia:

EMACS: initial release: 1976, 34–35 years ago

Vim: initial release 1991, 19–20 years ago

vi: was written by Bill Joy in 1976 (as extension of `ex' editor)

The debacle's been raging for way longer than 20 years.

\----

On the other hand, if you want something more modern:
<http://man.cat-v.org/plan_9/1/acme>

~~~
ajross
The EMACS package for TECO on ITS isn't an ancestor of modern GNU emacs, which
began as a rewrite (based on Gosling's Unix emacs) in 1984. They are both
"emacs" in the sense that they are modeless screen editors that share the same
default keystrokes.

Really GNU emacs is related to ITS emacs in the same way that vim is to BSD
vi: it's a cleaner and much more powerful reimagining of the original that
shares some interface details but no implementation.

------
pnathan
A few years ago I switched to emacs because I needed a cross-platform editor
that worked with multiple languages _and_ was available on command-line Linux.
vi(m) was (and is) unintuitive.

As you work with emacs and customize it to work with your flow, your hands,
and your keyboard, it starts to feel as comfortable as old shoes. Over time,
the incremental efficiencies add up, and it becomes clear that a non-
customizable editor just isn't as useful.

Contrary to parfe's experience, I've had good experience with Emacs packages,
but then again, I don't use very intrusive addons, and keep my emacs pretty
up-to-date.

~~~
fernandotakai
Happened to me, on vim – i used to work with TextMate, and I really wanted a
text editor that I could easily use on my servers as well as on my local
computer.

I started using vim, and at first, it was kind of hard to get used to all the
commands and remember everything... but after a while (1~2 weeks) it felt so
fluid and easy – everything makes kind of sense, it's easy to install new
plugins (pathogen ftw!), it's easy to hack those plugins, themes (most of the
time) just works.

------
dexen
For the fun factor -- emacs page from Section 1 of the plan 9 manual:
<http://man.cat-v.org/plan_9/1/emacs>

~~~
nitfol
Strangely, the vi(1) linked from that page is not for the editor, but for a
MIPS emulator <http://man.cat-v.org/plan_9/1/vi>

------
jlongster
I resonate somewhat with the gripes about Emacs' crustiness. But on the other
hand, I don't understand the complaints about it being ugly. I haven't heard
that for a while. I'd like to think that my Emacs is quite pretty:

<http://jlongster.com/s/emacs.png>

There are things Emacs can do which VIM will never do. And vice-versa. They
are separate editors embracing separate philosophies.

Lastly, keep in mind that this is 40 year old software, and considering that
it's done a great job keeping up with the times.

~~~
technomancy
I think most of the "ugly" gripes come from people who either don't know how
to change the font or haven't bothered to turn the tool bar off.

~~~
mixmax
I'm not trying to be snarky here, but if you change the font and turn the
toolbar off what's left of the design?

~~~
dkarl
If only you could configure Eclipse until nothing was left of its design!

~~~
munificent
I've actually gotten Eclipse into a fairly clean state:
<http://i.imgur.com/ln2N8.png>

Most of the clutter is gone, but all of the nice IDE features (refactoring,
immediate error detection, etc.) are still there. It's a nice way to work.

~~~
bmj
I run VS2010 in a similar way, though it is much easier to strip off the
widgets.

Most of my co-workers don't understand how I can work that way. I tell them
it's all about learning (or modifying) keybindings.

------
mhd
Lots of professional authors use "advanced" text editors for their stuff. And
sadly, that often means old editors, because they often tend to have features
that modern word processors lack (or make it easier to accept then). And of
course once you get used to something...

There was a Salon article about people still using XyWrite[1]. As mentioned in
the post, GRRM is one of the people[2] still using WordStar. I know that
Steven Brust is using Emacs[3].

[1]: <http://www.salon.com/21st/feature/1998/08/25feature.html/>

[2]: <http://www.sfwriter.com/wordstar.htm>

[3]: from the front matter of <http://dreamcafe.com/firefly.html>

~~~
cema
Another example: Vernor Vinge (sci fi author, and a former math and CS
professor at San Diego State) uses emacs
[[http://www.norwescon.org/archives/norwescon33/vingeinterview...](http://www.norwescon.org/archives/norwescon33/vingeinterview.htm)]

~~~
janv
Yet another example would be Neal Stephenson:

"I use emacs, which might be thought of as a thermonuclear word processor."

\- In the Beginning was the Command Line
<http://www.cryptonomicon.com/beginning.html>

~~~
bitwize
That was written before his conversion to Mac OS X.

We don't know if it still applies.

------
kennu
There's something fishy about an emacs article that doesn't mention vim at
all.

~~~
arnorhs
He mentioned being affected by cognitive dissonance when referencing other
editors - he was probably thinking of vim :)

~~~
to3m
A lot of modern IDEs provide features that are pretty close to magic, compared
to what emacs sports. The emacs user response to this generally seems to be
something like, "Code navigation can't be as good as M-x rgrep", and "How can
refactoring ever be as good as C-M-%?"

This reminds me of various people I have worked with in the past who have
wondered why I ever bothered with the complexity of searching and replacing
with regular expressions, when you can just do a normal search and replace,
watch for matches that match the more complicated thing you're actually
looking for, then replace them by hand...

~~~
jcromartie
I use Visual Studio to wrangle giant enterprisey C# applications, but I still
use find+grep/Emacs for browsing code quickly. Visual Studio is a long way off
from matching the simple blazing speed of grep and file buffers in Emacs.

P.S. I'm not sure why I'm being downvoted. It's what I do. There's really no
debate about whether grep is faster than VS search.

~~~
city41
VS mimics both to an extent by allowing you to search with regular expressions
and to choose to search from a file system context instead of project context.
My favorite thing about this is I also use viemu, and I can search VS's search
results using vi commands.

------
evangineer
tl;dr

Use Emacs 23 to create a distraction-free writing environment using org-mode,
darkroom-mode & markdown-mode.

~~~
RexRollman
I'm not directing this at you personally, even though I am responding to your
comment, but do we really need "tl;dr" type comments here on Hacker News?

~~~
dpatru
> do we really need "tl;dr" type comments here on Hacker News

Yes we do. They serve to save people time.

~~~
EliRivers
They would save more time by simply not coming here. They can save lots and
lots of time by not reading anything. Additional knowledge takes time to read
and then adds time to your decision making process. Too many choices. These
people should just write out a schedule and keep to it perfectly. No
distractions, no extras, no discovery. No need for people to read things to
understand them. Simply let someone else read them for you and tell you what
to think.

~~~
vacri
I think your criticism would carry more weight if this news site wasn't a
firehose linkdump format.

------
cicero
I'm pretty excited about this post. I first began using vi in 1983 and Emacs
in 1986, and have switched back and forth between the vi/emacs families of
editors as my needs have changed and their capabilities have changed. I've
been on gvim for the last few years because of it's superior GUI integration,
but it is not good for writing prose, which I do more and more of these days.
I have not found something I really like for writing, and end up using MS Word
by default, which does not make me happy. I had not heard of visual-line-mode,
so I'm ready to give emacs a try again. I just installed Aquamacs, and I'm
using it to write this comment in full-screen mode. I will also give org-mode
a try because I'm always looking for better ways to organize my writing.

~~~
cema
Keep in mind that while Aquamacs is better visually integrated in MacOs, some
features may not work as well as in the standard (gnu) emacs.

------
hsmyers
Haven't peeked under the covers in years---this is enough to make me go take a
look. Now if someone would write a mode for time-lines then that would pretty
much finish up the usual writer (fiction) shopping list.

~~~
codeup
Org Mode's agenda has something like that:
<http://orgmode.org/manual/Timeline.html>

------
swah
He's talking about Emacs 23.

------
dsmithn
I've spent the last month or so head first learning VIM - I forgot about org-
mode before deciding on VIM. There are a number of clones but nothing seems
complete. Any recommendations?

~~~
losvedir
Well the orgmode.org homepage calls out one[1] in particular:

"2010-11-25 Thu: Maybe the times where Org mode could change hard-core vi
users into honorable Emacs users are coming to an end? A Vim clone of Org mode
is be written by Herbert Sitz, and judging by the videos it looks promising."

Haven't used it, though.

[1]<https://github.com/hsitz/VimOrganizer>

~~~
hesitz
I'm the author of that clone. I'm making progress, and it's building up to a
fairly nice subset of org-mode, but it's not something that would satisfy any
truly hardcore org-mode power user. At least not any time in the near future.

The previous poster complained that none of the Vim plugins that try to mimic
or clone org-mode "seem complete". That is definitely the wrong way to look at
things. Org-mode is a huge app that's been heavily developed for six or seven
years now. In some ways org-mode is probably like Microsoft Word: probably 75%
of its users access only about 25% of its features, although many of them
access a different 25%.

Why try to develop an org-mode clone in Vim, then? Mostly as a personal
project I started for fun. I tried switching to Emacs just so I could use org-
mode. Even with Viper and Vimpulse add-ons Emacs felt too clunky to me. I had
previously worked on a Vim outliner and I knew that part wouldn't be too hard
to replicate in Vim. I decided not to stop there and I've gone on to a lot of
other features, although it's a fledgling project. In particular, I need to
get some decent documentation done. There are a ton of features in my clone
that users have no idea are even there. I think so far most of them (like most
org-mode users?) use it mostly for simple outlining.

The Vim clone uses a file format compatible with org-mode and actually calls
out to an Emacs server to have org-mode do exports to LaTeX/PDF, HTML, etc. So
pure document authoring (as opposed to PIM/task management stuff), is one task
that the Vim clone probably can do a decent job of now. Adding footnote
support is on the list (there's already a Vim footnote plugin that I plan to
modify to work with the org-clone).

------
urlwolf
For those who prefer a language with namespaces (python) sublime editor is a
good modern alternative.

~~~
shubble
I've been using emacs for a few months now (it's surprisingly good), and am
starting to run into wanting to do little modifications. Speaking as a non-
lisper, I really wish a rewrite existed in a more modern language. I don't
wanna start an argument about lisp here but there is a reason people don't use
it for major developments, and it's not the performance. But it would be
unfair not to point out that you can extend emacs in a variety of languages
including python. Its just a bit messier.

~~~
aerique
First of all, various members of the Lisp family are used for major
developments.

Secondly, rewriting Emacs would be a major undertaking and which modern
language would it be? My choice would be Common Lisp, for other developers it
would be Clojure, Haskell, Python, Ruby, etc. Whatever choice it would be,
you'd lose developers who would rather see Emacs rewritten in one of the other
languages. Even worse they might spawn forks in their own favourite languages.

------
sharonpaul
I'm a beginner at programming, and am wondering which text editor to use.
Emacs or TextMate?

------
ndaugherty18
Try out xiki (<http://xiki.org>) its a wrapper on top of emacs that adds a
bunch of shortcuts, and its built using el4r so all the extensions are ruby
based.

------
frsandstone
basically

------
lelele
Emacs beats every other editor. Yes, including Vim both because you have a Vim
clone inside Emacs and because once you start pushing the limits of Vim, just
like the developer of Slim-Vim, you'll find yourself implementing Emacs. Vim's
editing model is great - and that's what I use - but it ain't Emacs.

Emacs has its warts, but it's your best choice if you want a serious editor.

Bashing an editor because its support for programming languages whose
programmers have chosen other platforms, is not fair. Comparing Emacs to
Eclipse or Netbeans when it comes to Java development is not fair, just like
comparing Eclipse or Netbeans to Emacs when it comes to Common Lisp
development is not fair either.

Using a general-purpose editor instead of a specialized tools means that
everything you learn will serve you in every other editing task.

If you are not serious about editing text, then you will be

But, truth to be told, Emacs isn't even an editor: it is an Emacs Lisp
interpreter which by default runs a program to edit text.

~~~
lelele
Continued:

If you are not serious about editing text, then you will be served by many
other editors.

~~~
lelele
Downvoting without explanation? Fine, I love my competitors using lesser
tools.

~~~
stevejohnson

        * Being needlessly argumentative
        * Borderline trolling. You _know_ how these arguments go.
        * Fallaciously arguing that tools cannot be compared based on how well they get the job done 
            (IDEs vs 'editors') rather than their implementation
        * Getting pissy about downvotes and posting multiple times instead of editing
    

You've been here a year. You should know better.

~~~
lelele
Thank you for your clarification. I don't understand why I have been perceived
as argumentative.

I've been using Emacs for quite some time now, and before immersing myself
into it, and even after, I've compared it to other major editors. Eventually,
I realized that no other editor can stack against it, if you are _really_
serious about getting the most out of your editor, and reaping the highest
return of investment out of the time you spent learning it.

Maybe some people don't like the idea, but just like there are superior
languages, as PG as neatly demonstrated, there are superior tools. Things you
can accomplish with Emacs, you really can't with other Blub editors.

Oh, and when I talk about Emacs, I'm not talking about its editing model,
which I agree, is somewhat cumbersome. Vim's editing model is way superior,
and it's my editing model of choice, but Emacs' implementation is better. Vim
enthusiasts are aware of the limits of their editor. For a story, read here:
[http://bradbeveridge.wordpress.com/2007/06/21/how-a-vim-
user...](http://bradbeveridge.wordpress.com/2007/06/21/how-a-vim-user-
converts-to-emacs/)

