Live data from Hacker News

Things I wish they told you about Emacs

news.ycombinator.com

1–10 of 32 posts

Re: Things I wish they told you about Emacs

#2
As far as I know, Emacs users are disabling Intro page at all.

Also I can't suggest to use M-x customize because it writes some code into your init.el file. For me, it's important to keep this file as simple as possible with my code only.

But, in case if you're using Emacs for some simple stuff then M-x customize is ok.

Re: Things I wish they told you about Emacs

#3
post #2

As far as I know, Emacs users are disabling Intro page at all. Also I can't suggest to use M-x customize because it writes some code into your init.el file. For me, it's important to keep this file as simple as possible with my code only. But, in case if you're using Emacs for some simple stuff then M-x customize is ok.

Of course, you would

  M-x customize-variable RET custom-file RET
first, to save the customization variables to a separate file, adding:

    (setq custom-file "~/.emacs-custom.el")
    (load custom-file)
to your init file.

Re: Things I wish they told you about Emacs

#4
post #2

As far as I know, Emacs users are disabling Intro page at all. Also I can't suggest to use M-x customize because it writes some code into your init.el file. For me, it's important to keep this file as simple as possible with my code only. But, in case if you're using Emacs for some simple stuff then M-x customize is ok.

I don't use customize either, but there are very few things^1 that will be put in it without you explicitly customizing the variable and choosing to save it. So rather than typing elisp code out by hand, you can use the more user-friendly interface to set a variable. If you're -- for example -- version controlling your init file and you use customize, you want to have your customize block version controlled.

[1] The only one I know about is `package-selected-variables`, which are "packages installed explicitly by user". It's used to make sure those packages are not considered unneeded if they aren't a dependency of anything.

Re: Things I wish they told you about Emacs

#6
My favorite thing I wish they'd told me about emacs:

M-x shell

Run a shell (or shells) inside emacs. Great for long running apps like servers. You can search back through the output using normal Emacs search commands. For me, one of the killer features of Emacs.

Rename the shell buffer to something else to start another shell.

Re: Things I wish they told you about Emacs

#9
You NEED to learn about keyboard macros. And C-/ (which is undo).

Actually, it helps to be around other emacs users. I've seen people do something magic and I stop them so I can learn the trick. Usually they have to do it again before they can explain it because most emacs users have everything "in their fingers". Musicians are the same.

I would credit emacs with 50% of my productivity. Learn it well. It pays huge rewards.

Re: Things I wish they told you about Emacs

#10
post #4
post #2

As far as I know, Emacs users are disabling Intro page at all. Also I can't suggest to use M-x customize because it writes some code into your init.el file. For me, it's important to keep this file as simple as possible with my code only. But, in case if you're using Emacs for some simple stuff then M-x customize is ok.

I don't use customize either, but there are very few things^1 that will be put in it without you explicitly customizing the variable and choosing to save it. So rather than typing elisp code out by hand, you can use the more user-friendly interface to set a variable. If you're -- for example -- version controlling your init file and you use customize, you want to have your customize block version controlled. [1] The…

Customize.el is not only about saving on keystrokes from elisp code, but it is highly discoverable, and importantly, type safe. If you need to put some wacky cons shenanigans to define your font locking rules or whatever, all that is taken care of you in customize.

I don't put the output customize.el under version control since I vary my settings somewhat from machine to machine, and I use version control to sync my emacs configuration. However the output is easy to mechanically transform into (setq-default) for things that I do want to synchronize.

Post reply on HN