Live data from Hacker News

Absolute Beginner's Guide to Emacs (2012)

jesshamrick.com

221–230 of 262 posts

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

#221
post #114

emacs for email: what's the current best accepted practice? I'm using Fastmail for my email and I'm on MacOS

I have used notmuch for years now and see no reason to stop. Be warned, however, that it does require you to set up some tooling outside of emacs as well.

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

#222
post #146

Earlier quoted context omitted.

> A common selling point for VIM is "its installed everywhere you just ssh in and it's available". I've never understood this argument unless you're coming at it from a sysadmin perspective. Sure if its available everywhere that helps when I'm sshing in to random systems to sysadmin stuff. But I don't do my development by logging in to random new systems all the time. I do my development in an environment that I have…

That’s a very specific development story, though, common to e.g. web development. If you’re, for example, a developer working on an embedded platform which (even temporarily) has no ssh, and probably no emacs as well, tramp-mode won’t work. I’m a hard emacser, but it’s true that vi is usually much more ubiquitously available, so it’s good to know how to use it.

> If you’re, for example, a developer working on an embedded platform which (even temporarily) has no ssh, and probably no emacs as well, tramp-mode won’t work.

Maybe I'm wrong but I really don't think embedded developers do a lot of work directly on platforms that low level/limited.

You do your development on your main machine, automate deployment to your target, and debug using a gdb server or openocd.

Honestly mg or nano is more ubiquitous than vi. Any system that has vi installed will likely have nano as well.

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

#223
post #172

Earlier quoted context omitted.

I tried Evil mode a few months ago and went back to Vim very quickly. It's one of the best Vim plugins out there, but it still misses a few features and it also behaves differently in a couple of situations. It never really feels like Vim, more like a minefield of unknown shortcuts with a layer of Vim bindings on top. But I get why some people like it, if you can't stand modal editing then Emacs is a great choice.

One of the selling points of neovim was to make it more easily embedded into other programs.. doesn’t seem like anyones trying to do so from a quick googling though; maybe one day there can be true unification of the holy editors

I suspect this is quite unlikely. A main reason for emacs being good is that it has a good programming language for extensions and good primitives to support it. This is in comparison to eg vimscript (hopelessly bad) and javascript (extremely mediocre). Emacs Lisp has several advantages:

1. Language is more extensible because of macros so dealing with editor state can be hidden.

2. Language is more dynamic with advice and eval-after-load and such is extensions can play well together

3. For all it’s difficulties, having buffer-local variables and dynamic scope seems to make writing extensions easier

As far as I can tell, making Emacs cooperate with neovim would require shoehorning the editor model of one editor into that of the other, likely causing many extensions and expected behaviours to break.

There is, I think, a difference between making a new application that can use neovim for editing some bits and making an old (or, indeed, very old) application switch to using neovim for editing.

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

#224
post #70

Earlier quoted context omitted.

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

I realize this is a joke, but there seem to be a lot of people who are really attached to the interpretation of Emacs as a little Lisp Machine.

Emacs is an ok lisp machine. It is much better than many common lisp distributions which are typically not very good lisp machines (I believe the proprietary systems are better in this regard).

Clinging on to Emacs as a lisp machine can mean clinging onto the more dynamic customisable extensible computation environment epitomised by the lisp machine, and in this sense I think it is more understandable

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

#225

I have yet to encounter anything that can match the sheer flexibility of Emacs. For example I am currently using Org mode to write some documentation complete with hyper-links, tables, foot notes and the option to export the results as LaTeX, HTML, Open-Office, and so on with just a few keypresses. It's not just an editor, or an IDE, or even a windowing system - it is a cross-platform computing environment that can b…

My sole use of Emacs is for Org-Mode (for extensive note-taking, task breakdown, writing reports, etc). I'm glad I invested the time three years ago. During the upcoming holidays, I should try to explore and "stumble upon" advanced features and neat tricks that I haven't come across yet.

Remember mode could be cool for your use case. It may be integrated into Org by now (?)

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

#226

Emacs is habit forming. I started using emacs as an undergrad in the late 80s, as it was the only way I knew of at the time to have multiple windows open on a standard DEC VT-220 terminal. ( I did not know about screen; it was quite new at the time ). I switched to using my UNIX account daily from VMS mainly to get access to this feature that I saw my friends and upperclassmen using. After I got access to an X11 base…

Apple too used to place the control key in the correct location. It was quite unfortunate when Sun and Apple gave up the good fight.

Which was the last Apple model with the Ctrl-key at the correct location?

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

#227
post #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…

> [Hooks, macros, advice - all the goodies to shoot yourself in the foot in that wonderful Lisp way!]

You use a very common technique to make the joke, a "turn" so to speak. This makes the joke recursive because it involves Lisp. It's fitting, I just had to laugh!

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

#228

Watching Jonathan Blow flying around Emacs on his Twitch streams is always very impressive.

Impresive as a developer but not as an emacs power user. One thing that makes me very nervous is seeing someone moving the pointer char by char. Do yourself a favor, learn how to jump around!

Do you know of any videos demonstrating true Emacs mastery?

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

#229
post #146

Earlier quoted context omitted.

That’s a very specific development story, though, common to e.g. web development. If you’re, for example, a developer working on an embedded platform which (even temporarily) has no ssh, and probably no emacs as well, tramp-mode won’t work. I’m a hard emacser, but it’s true that vi is usually much more ubiquitously available, so it’s good to know how to use it.

> If you’re, for example, a developer working on an embedded platform which (even temporarily) has no ssh, and probably no emacs as well, tramp-mode won’t work. Maybe I'm wrong but I really don't think embedded developers do a lot of work directly on platforms that low level/limited. You do your development on your main machine, automate deployment to your target, and debug using a gdb server or openocd. Honestly mg…

As an OS developer myself, I can tell you that logging into platforms to quickly tweak something using vi happens all the time. It's not about "directly developing" on the platforms, it's about debugging and trying things out.

nano is a very young editor, comparably, invented in 1999, and GPL on top of that. I'm not sure it even come out of the box with any of the BSDs (OpenBSD at least does not seem to have it).

vi was first written by Bill Joy himself in 1976, and I'm pretty sure it proliferated in many different forms over many, many different platforms.

mg, I don't know!

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

#230
post #146

Earlier quoted context omitted.

That’s a very specific development story, though, common to e.g. web development. If you’re, for example, a developer working on an embedded platform which (even temporarily) has no ssh, and probably no emacs as well, tramp-mode won’t work. I’m a hard emacser, but it’s true that vi is usually much more ubiquitously available, so it’s good to know how to use it.

SSH isn't the only protocol supported by Tramp (from what I hear, it's actually a late addition). Essentially, if you can get somehow get a shell on a remote machine, you can make Tramp work with it.

It might be possible to get tramp working over a serial line (while still being able to use the same shell, though?), or over telnet, but practically I'd probably just type "vi" to quickly edit a file.

Again, I'm saying that as someone who uses tramp-mode all the time, otherwise.

Post reply on HN