Live data from Hacker News

Let's just use Emacs

beastwithin.org

31–40 of 169 posts

Re: Let's just use Emacs

#31
post #15
post #10

Earlier quoted context omitted.

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 replacin…

> A lot of modern IDEs provide features that are pretty close to magic, compared to what emacs sports. Which modern IDEs and what features? I have used eclipse for months before deciding I was better off with emacs with eclim-mode anyway to provide the only two features of eclipse I liked: the compiler and the ability to see the members of an object (occasionally).

I work on a 5GB source tree at work with a couple (or more? I haven't looked) thousand Java source files. After my last machine decided it would be a good time to crap out and I started over with a new OS X install, I tried working strictly with vim and emacs and our scripts (written by vim aficionados, it seems) to navigate around the codebase.

It was like a root canal. If I was on fire.

Seriously--I'm not an Eclipse fan by any stretch, but Open Type alone saves me hours of frustration a week. Its code completion isn't nearly as good as Visual Studio's, but is a lot better than ctags. And its source generation (implement getters/setters, override inherited methods, even just basic context-aware renaming) is fantastic, too.

IME--and this is something of a generalization because I know fantastic programmers who use vim and emacs, and I use either where I have to--the folks who tout them are either using languages where IDEs are less effective (although this is still dubious--NetBeans has surprisingly good intellisense for PHP and Ruby, at least) or don't realize what the IDEs can do for them on a regular basis.

Re: Let's just use Emacs

#32
post #24

Earlier quoted context omitted.

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?

> do we really need "tl;dr" type comments here on Hacker News Yes we do. They serve to save people time.

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.

Re: Let's just use Emacs

#33
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.

Re: Let's just use Emacs

#34
post #8

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, a…

YMMV, but I find that the latest Emacs on OS X with a good color theme is quite nice looking. Anti-aliased font rendering is fine with me.

Agreed emacs 23 is a vast improvement, however the UI elements i.e. menubar, scrollbars, etc. still suck, as does the initial splash screen. OS X is better than linux for defaults, but no matter what you do have to work hard to get a decent appearance.

Re: Let's just use Emacs

#35

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

For linux environments, instead of darkroom-mode you can put this in your .emacs file to toggle fullscreen:

  ;;; Fullscreen
  (defun switch-full-screen ()
    (interactive)
    (shell-command "wmctrl -r :ACTIVE: -btoggle,fullscreen"))

  (global-set-key (kbd "") 'switch-full-screen)

Re: Let's just use Emacs

#36
post #23
post #8

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, a…

I'm with you. Making Vim look pretty involves adding ":color " 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 shoul…

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.

Re: Let's just use Emacs

#37
post #20

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 instru…

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.

Re: Let's just use Emacs

#38
post #37
post #20

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 instru…

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.

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

Re: Let's just use Emacs

#39
post #15
post #10

Earlier quoted context omitted.

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 replacin…

> A lot of modern IDEs provide features that are pretty close to magic, compared to what emacs sports. Which modern IDEs and what features? I have used eclipse for months before deciding I was better off with emacs with eclim-mode anyway to provide the only two features of eclipse I liked: the compiler and the ability to see the members of an object (occasionally).

Refactoring. In Visual Studio I can click on any usage of a badly named class, press F2, type in the new name and it will be updated everywhere. Even the name of the file holding the class is updated.

Re: Let's just use Emacs

#40
post #35

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

For linux environments, instead of darkroom-mode you can put this in your .emacs file to toggle fullscreen: ;;; Fullscreen (defun switch-full-screen () (interactive) (shell-command "wmctrl -r :ACTIVE: -btoggle,fullscreen")) (global-set-key (kbd " ") 'switch-full-screen)

Alternative if you don't have wmctrl installed (not default in Ubuntu for example):

  ;; Fullscreen
  (defun switch-full-screen ()
    (interactive)
    (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
                           '(2 "_NET_WM_STATE_FULLSCREEN" 0)))
Post reply on HN