Live data from Hacker News

Absolute Beginner's Guide to Emacs (2012)

jesshamrick.com

121–130 of 262 posts

Re: Absolute Beginner's Guide to Emacs (2012)

#122
Another subtle but important use of emacs : it is a good playground for (a flavor of) Lisp. Together with the source code galore in site-lisp/, it is a really good environment to learn how a full-blown system can be put together in Lisp. [Hooks, macros, advice - all the goodies to shoot yourself in the foot in that wonderful Lisp way!]

Also relevant is the great article by Stallman on the exact C-vs-Lisp division of labor in emacs. This design philosophy of "bare metal" programming in a fast language + an interpreter for flexibility is also the philosophy behind GNU guile:

https://www.gnu.org/gnu/rms-lisp.en.html

https://www.gnu.org/software/guile/

Re: Absolute Beginner's Guide to Emacs (2012)

#123
post #81

Earlier quoted context omitted.

Emacs is an OS that lacks a decent text editor (the joke is as old as Emacs).

Well... For me it also have a decent text editor... The bad point is that it lack a bootloader+kernel+userland that let me ditch basic Linux kernel... GuixSD is nicely integrated but Emacs Guile port is not "official" and "mature" enough to have it really as a sole OS, also GuixSD use bash by default, not Emacs at login... For now I'm happy enough with NixOS+EXWM despite few annoyance not directly caused by Emacs :-)

Would you mind sharing your nix config?

Re: Absolute Beginner's Guide to Emacs (2012)

#124
post #42

I tried Emacs several time. The concept is cool but the execution makes it so that for me, in practice, VS Code is better. I'd want either: * tabs with a good UX or * super powerful, easy to use, integrated command and fuzzy file search, also with a good UX. I'd also want a terminal at least as good as the VS Code one, on Windows, to use with Cygwin. With Emacs I'd have to learn a big bunch of terminology no other ed…

It's true that tabs would be nice sometimes, but usually Emacs users have lots of files open all the time. The usual open-edit-close workflow doesn't really apply to Emacs sessions. An Emacs tab bar would resemble that of a browser with 100+ tabs, so the problem is that the people that would be capable of implementing that feature wouldn't use it in the end.

Re: Absolute Beginner's Guide to Emacs (2012)

#125
If your software frequently needs guides, it is unintuitive, meaning it has a interface beginners can not use without reading excessive documentary. Your software is non-exclusive for people who do not want to devote their live to this or that purpose, which is eltism, which makes your software bad and you should feel bad.

Re: Absolute Beginner's Guide to Emacs (2012)

#126
post #119

You should check out tramp-mode too. Its a killer feature that lets you edit files remotely (AWS, Azure, even docker containers!) as if they are local. All the stuff work, so you can do diffs between a local file and an a AWS file and it all appears to be local. If you are editing a remote file and do a git action (through magit) it knows to work on the remote file. You can open up remote shells also. You just go: CT…

A common selling point for VIM is "its installed everywhere you just ssh in and it's available".

To that, I usually bring up tramp and say, who cares you just ssh in from emacs.

Re: Absolute Beginner's Guide to Emacs (2012)

#127
post #67

Earlier quoted context omitted.

> - Tabs are not present in Emacs, but C-x C-b will list all open buffers I want a passive, not an active interface. I want to be able to visually scan the tabs. I want to be able to click them when I'm not in the mood for keyboarding. I want the tabs and the tab bar to not be ugly as sin :) Etc, etc. Heck, if Vim has them built-in (and Vim also has the same concept of buffers as Emacs), surely Emacs could (should?)…

You do not need to see what "tabs" are open at all times. You only need it when you want to switch. It's also incredibly limiting. At this moment I have 127 buffers open in emacs. How would you deal with that?

> You do not need

I find it interesting that you can decide for me what I "need" or "do not need" :)

Re: Absolute Beginner's Guide to Emacs (2012)

#128
post #66
post #33

There is a strange editing mode that I stumbled on by myself, which I can do in Emacs. Suppose I am editing a huge file, and need to make change in some other part without necessarily forgetting where I am. I just open a new buffer for the same file, edit the desired area, and close the new buffer. I have the old position restored automatically in the old buffer. Of course, this can be done to arbitrary number of lev…

Every programmer's editor and IDE I've used in the past 22 years has had this feature, all the way back to Delphi in 1996. I don't think Turbo Pascal's text UI had the feature but wouldn't be surprised if it did. Support varies in whether e.g. lines introduced above the view cause scrolling, or if the views are sticky to relative position, but the basics of multiple editing cursors in multiple views for a single buff…

> Every programmer's editor and IDE I've used in the past 22 years has had this feature, all the way back to Delphi in 1996.

Well, Emacs is older than all of them.

Re: Absolute Beginner's Guide to Emacs (2012)

#129
post #87

Earlier quoted context omitted.

Emacs can do far more nice things, for instance meaningful text navigation so you can move not only between lines and columns but also between functions/method/class definitions, scope/context/namespaces, paragraphs, ... You can edit multiple files at once (for instance if you change a string, like a variable name, in multiple files), you can edit with multiple cursors, record&execute text macro on the fly and with a…

How much time do you need to spend setting up all those possibilities? And figuring out all the little incompatibilities be tween all the plugins and modes, and lisp extensions? Most of what you mentioned already exists in most IDEs.

That's the trouble. It's more flexible than most ides, but you have to configure it, which isn't easy if you lack the imagination or the technical know-how (elisp).
Post reply on HN