Live data from Hacker News

Absolute Beginner's Guide to Emacs (2012)

jesshamrick.com

141–150 of 262 posts

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

#141

Earlier quoted context omitted.

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).

> isn't easy if you lack the imagination

wat?

> or the technical know-how (elisp)

It's not just the technical know-how of knowing elisp. It's also the often arcane ways of configuring emacs and the arcane and often undocumented ways of configuring the packages and plugins and modes that you bring into the system.

The amount of hacks one needs to maintain a reasonably working emacs is mind-boggling, and has nothing to do with imagination. I know, I used to maintain one: https://gist.github.com/dmitriid/4078311

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

#142
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…

M-x compile (and related) works too.

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

#143

Is Emacs worth learning well if you're not primarily a software developer? For a DBA or data engineer, for example (as I am)?

Yes. you can use org-mode to create a living 'literate code' document of database connections and queries. You can then execute the queries directly from this document.

something like https://truongtx.me/2014/08/23/setup-emacs-as-an-sql-databas...

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

#144

I really feel VSCode is lining up to be the new goto IDE across multiple languages. Slightly less (directly) extensible than Emacs but still feels it can do pretty much everything that needs doing, plus way nicer & friendlier default UI.

VSCode has very much opposing philosophy to Emacs. It's a Microsoft product and it shows, they don't have standard concept of buffers/windows, so trying to do customization is ugly. For example, you can't easily implement a shell which moves around the windows and can also sit on a side, because windows and sidebars are totally different concepts in the code. VSCode depresses the hell out of me, it's almost a summary…

I don't usually do this "argument by argument rebuttal" but since your post is extremely misleading I can't resist:

> pretty much an inferior copy of an existing thing (Atom)

How? For starters, it's a lot faster which appears to be a major reason why people switch

> but not really built as a nice platform to be meaningfully extended

Well that's up for debate now isn't it? Its plugin ecosystem disagrees with a perceived lack of extensibility.

> used cynically as a wedge to pull developers into your orbit

How does VSC do that? I use it and I've never seen it advertise other Microsoft products or services to me.

> and controlled by a single company

Fork it.

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

#145
post #103
post #82

Earlier quoted context omitted.

> With commercial software you need to invest time (and money) before start, and after having reached a certain amount of knowledge you can't go further, you have to keep yourself up to date following upstream changes and you new knowledge have a very little value in the long run. How's that different from learning to how use FOSS? Except the money investment part.

That commercial software is build normally to lock you in and lock out any possible evolution path, the learning curve is fixed: when you learnt a certain number of things "you are productive" and there is no more, no future. On FOSS normally software offer many evolution paths, which means you have to learn few thing and you can start, using the software issue or desire arise and you learn new things in an ever grow…

In the context of emacs, you only ever need to learn terminology like

- major and minor modes,

- special, regular, mini and read-only buffers,

- frames,

- backup files,

- dired,

- mark and kill rings,

- hooks,

- the difference between C-x and M-x,

- mode line,

- registers

- and whatever else there is in emacs' configs, packages etc.

I dunno. Perhaps in emacs lingo "standard" means "no one uses these terms anymore"?

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

#146
post #126

Earlier quoted context omitted.

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.

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

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

#147
post #36

About four months ago I moved from VS Code to Spacemacs and it has been an extremely rewarding experience. Anyone who is afraid of Emacs or Vim should give it a try. I've heard good things about Doom and Prelude as well.

Could you give us a few pointer on how you prefer working with Spacemacs rather than with VS Code? I've tried Vim a few times but got turned off by the slow process of learning the multiple keyboard shortcuts to do a simple task.

I personally don't know much about VS Code. All my keys for openings/searching of files are very centered around emacs.

In short: macros: I can turn a column of text values into a single line of a json array with a few strokes. Also more complicated formatting that has some pattern like:

  var some-column = 1;  
  var some-columntwo = 2; 
Into formatted SQL queries or inserts, or more json with little effort. Not an issue with 2 columns, but with a hundred....

Interaction with the shell: I can do the above with curl or reading from a file so I don't have to leave the editor and download and open the file separately.

Helm: https://tuhdo.github.io/helm-intro.html Fuzzy searching of anything: emacs help files, man pages, your code, your code function/class/variable names.

Magit: I generally hate git interfaces but this one is pretty good and allows commit, merge, rebase, and interactive adding seemlessly.

org-mode/org-babel: Note keeping to automatically create tickets in my help files and keep my place where I am. Execute code inline as a test.

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

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

In term of "spending" my answer is ZERO, simply because I do not spent time, I discover things casually or when I feel the need of something and it's nearly always there, ready to go in my config (org-mode based) with a quick cut&paste.

Sometime yes, I found a thing that require more investigation or something happen and need action but with modern Emacs is far simpler than undebuggable monsters like Eclipse or Netbeans dotdirs.

BTW there is no difference in terms: plugins, extensions etc; core Emacs is an elisp virtual machine and anything are simply sexps, from my own config to the most famous major mode like org.

About modern IDE: in Emacs I do anything from mail (notmuch-emacs) to personal finance (ledger) to slides (org-mode with skeletor/yasnippet and reveal.js/beamer) to other documents, to deploy documents, live in org via babel, to window manager (EXWM) etc. No IDE or other app exists that can do anything with the level of simplicity, effectiveness and integration of Emacs. Even in terms of mere editing modern IDE are not integrate with anything but barely themselves so you need tons of different apps to do a single thing, in Emacs everything is there.

In terms of time: I was a hardcore vimmer for decades, at a certain point in time I feel the need of something different and I decide to try Emacs. Initially as an editor, after as MUA, after as agenda, after as a file manager, after as a ... discovering new things regularly and ease my life like never before.

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

#149
post #69
post #13

Earlier quoted context omitted.

Emacs hasn't been really mainstream in quite a while and it's still actively maintained and improved upon. I'm not too worried. A small-ish skilled community is enough to keep the project going. What's VSCode's market share anyway? Is it really that big? I've never used it personally and I had no idea it was so popular.

> A small-ish skilled community is enough to keep the project going. The trends of the last few years are worrisome, though, particularly as regards the pool of developers who can work on Emacs core (the part written in C). Right now there's only one dev who's in a position to do non-trivial work on the display engine, and he also took on primary maintainer responsibilities a couple of years ago. When he burns out, t…

It feels like Emacs Developers are actively tries to shoo away modernization and people who do not want to put in hours trying to actively learn just Emacs.

At one point I tried using Emacs for everything but it didn't work out for me. Now I still use it but only for tasks management and coding.

Unless you want to spend hours of your time customizing it and then a lot of other person also does the same customization. This just ends up wasting a lot of time overall.

For me Emacs lacks the following and I think others will have the same feeling:

Obscure Terminology Documentation is all geeky with terms like frames, META, kill ring etc. This creates unnecessary friction for a new user. Basics of ELISP can be learned rather quickly but trying to apply it while grokking the tersely written documentation is just discouraging.

Sensible Defaults Simple things CTRL-C, CTRL-V does not work out of the box.

Mobile Interface It is an error not to provide a facility to interface with mobile devices natively. I get full Emacs can be invoked via termux on any Android device. However, it is just unusable and irritating. Orgazly and likes also not very useful.

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

#150

Earlier quoted context omitted.

The long-time Emacs user has heard this same argument repeatedly for decades, with regard to historic IDEs that no longer exist. How much time do you spend switching to new IDEs every couple of years.

Why should I switch to new IDEs every few years? Meanwhile I've had emacs configs fail in subtle and not-so-subtle unpredictable ways with every system or emacs, or mode, or... update

Well, in the past I have used Eclipse, Netbeans, SunStudio (essentially netbeans), IntelliJIdea, Oracle JDeveloper and others: all of them are enormously bugged, perhaps Netbans/Sunstudio was the least bugged. All of them suffer from an ever grown dotdirs that sooner or later brake and you need to restart from scratch...

In Emacs I have had brackeage, and an emacs bankruptcy. But in all case I have recovered anything when I have time simply investigating, when happen if I'm in hurry a quick revert and anything works again.

Post reply on HN