top | item 8769905

“Mastering Emacs” ebook announced

61 points| deng | 11 years ago |masteringemacs.org | reply

28 comments

order
[+] joshkaufman|11 years ago|reply
I've always been curious about Emacs, but I haven't made time to really dig into it. A resource like this will be very helpful. Looking forward to reading it!
[+] michaelsbradley|11 years ago|reply
I found Bozhidar Batsov's Prelude to provide a solid "foundational config" for getting started with an editor that is configurable to the max:

https://github.com/bbatsov/prelude

I installed an earlier version of it 3+ years ago and then worked through the standard tutorial a couple of times, invoked with "C-h t" (control-key + h-key, then t-key).

After that, I was off and running with Emacs!

Once some familiarity with Emacs Lisp (elisp) has been acquired, a careful study of the prelude sources and the sources of various packages installed by prelude is a great way to acquire a deeper understanding of how to wire things together inside Emacs.

A decent way to get started learning elisp is to read the introductory text hosted on gnu.org:

An Introduction to Programming in Emacs Lisp

https://www.gnu.org/software/emacs/manual/eintr.html

Pro tip: if you haven't done so previously, you may want to remap your caps lock key (via OS settings) to act as an additional control-key – some users find caps lock easier to reach for with their left pinky finger than the left-control-key on many keyboards.

[+] avtar|11 years ago|reply
While it doesn't expose you to default key bindings (by default), I've been really digging this project https://github.com/syl20bnr/spacemacs as a gentle and more intuitive introduction into the world of Emacs.
[+] melling|11 years ago|reply
One feature where Emacs seems to be lacking is 'out of the box' text completion and IntelliSense. I know that there are modes like IDO, auto-complete, and probably others, but editors like Sublime and IntelliJ just work with zero effort. A detailed explanation on how to best configure Emacs would go a long way in making it easier to get started.
[+] to3m|11 years ago|reply
For C/C++/etc., there's all the suggestions you can eat on this page: http://tuhdo.github.io/c-ide.html

For code completion, I had decent success with company-mode and its clang backend. This was a good return on time invested as it took all of about 5 minutes to set up and worked immediately on both Linux and Mac OS X (only requirement is clang-3.something, I think - apparently works on Windows too, albeit unsupported). Initially I found it a bit slow, but after switching off the while-you-type completions I became much happier.

More recently I've started using rtags (https://github.com/Andersbakken/rtags) for code browsing. This was a bit tricker to set up, as I had to build my own copy of clang and llvm (rtags needs a more recent copy than company-mode so the one from the Linux package manager wasn't good enough). Luckily this wasn't too hard - the official instructions are perfectly clear - and it was relatively plain sailing from then on.

Compared to Visual Studio or Xcode the results overall are inferior. The browsing or completion fails more often than VS/Xcode, even with system symbols, for reasons I have yet to investigate, and of course it's far from plug-and-play, particularly in terms of automatically getting the right header paths for the current project. But it's proving workable, and is a huge improvement over ctags, particularly for C++.

[+] SloopJon|11 years ago|reply
I use M-/ for this purpose, which I think is bound by default. It expands based on whatever buffers are already open. Not syntax aware or anything, but useful nonetheless.
[+] abroncs|11 years ago|reply
Check out Spacemacs. It tries to be just this: Emacs with a lot of plugins out of the box, sane keyboard shortcuts and Evil integration if you want it.
[+] frou_dh|11 years ago|reply
Sublime has completion of tokens but doesn't come with any IntelliSense to speak of. How well its symbol-indexing works is also heavily dependant on the robustness of the regex-y grammar in the particular language package that's active.

Still, as far as non-IDEs go, it is pretty capable and I do enjoy using it.

[+] brudgers|11 years ago|reply
Does intelluJ support J or SMLNJ? Of course not because it's an IDE, not a text editor. Emacs selling point is its great power. The price of that power a learning curve.
[+] theophrastus|11 years ago|reply
Potentially interesting source, to be sure. But just a bit discombobulating to depict a nice looking hard-bound paper book at the top of the web-page only to read on the bottom: "The book is ebook only for now. I will supply the book in PDF and ePub formats"
[+] mickeyp|11 years ago|reply
It will appear in dead tree format too, but I want it be high quality and I have yet to truly investigate Print on Demand services.

(But suggestions welcome.)

[+] wgato|11 years ago|reply
i just want it to not use the color midnight blue.