people who have gone from neo/VI/m to Emacs or wise verse - what made you swap? what made you then either stay or revert?

#editorwar #editorwars #vi #vim #neovim #emacs

I switch back and forth between vi and emacs.
Vi is nice if you are into "Unix IS the IDE".
It starts instantly. You use the shell for shell
things.

Emacs is nice to do EVERYTHING in.
When I use emacs I leave it running for
days. It's especially nice for programming
any kind of lisp.

Emacs is definitely more of an ideal for using
as a pure programming editor, but i have
become more and more unix pilled so I
tend to use vi more lately.

An example is auto formatting. Emacs is great
at this IN the editor. Press tab and emacs will
do the correct thing indent wise.

In vi I have to find an external program
that formats (like gofmt or indent) and
pipe the buffer contents out to that
program and back. This is made easier
by using map commands to map keys
to do the indenting. But shows how emacs
and vi differ basically.
Ramin Honary: Emacs fulfills the UNIX Philosophy (overview)

@tusharhero thanks for the shout-out!

“people who have gone from neo/VI/m to Emacs or wise verse - what made you swap? what made you then either stay or revert?”

@hell the article mentioned by Tusharhero is a little long, so to summarize it in a way that more directly answers your question: I basically realized that Emacs was not a text editor, it was a programming language designed for text editing that came with a built-in text editor and IDE. And the built-in editor and IDE are setup so that you don’t really need to learn the Emacs Lisp programming language to use it.

I had become frustrated with my editor (Vim) my terminal multiplexer (Screen or TMux), my shell (Bash), and many of my other CLI tools all being programmed, scripted, and/or configured in different languages. For example, when trying to get my shell to notify my editor that a build process completed, I was able to program Vim and my shell scripts to both use inotify or similar tools to do so, but I just thought it was a little ridiculous that I had to hack together solutions to these problems.

So I started thinking about ways of using the CLI with just one programming language and one runtime. Then it hit me: Emacs is exactly that: a combination of Tmux, Vim, Bash, and dozens of other tools all programmed in Lisp. Once I realized that, I decided I didn’t care how hard it was to use, it was exactly the tool I needed so I had better just learn how to use it. And it turned out not to be too hard anyways.

The best part was, I hardly ever need to write my own tools anymore because I was always able to find some Emacs Lisp code somewhere that solved practically any problem I had ever come across.

If you’d like to know more, then yeah, read my article, or ask me anything you’d like here on the fediverse!

#editorwar #editorwars #vi #vim #neovim #emacs

Ramin Honary: Emacs fulfills the UNIX Philosophy (overview)

@ramin_hal9001

Sometime I wonder, how did people start to compare emacs with vi? Indeed it is true that vi and emacs are both text editors.

But in a sense, emacs is an editor and much more. Are these two computer programs even comparable to begin with?

Just like what you wrote, emacs acts like vi. But emacs also acts like tmux. It is also acting like a shell and more.

Comparing emacs with vi is like comparing emacs with python or java or perl.

#Emacs

@hell @tusharhero

@restorante yes. I think Emacs is probably most similar to JavaScript and Node.js.

When you combine Node.js, Electron.js, and the Monaco Editor Engine all together, you get VSCodium. But Electron.js is a huge WC3-standards compliant browser engine that can render beautiful graphics. You don’t really need all that just to do text editing.

Emacs doesn’t have a fully WC3-compliant browser engine built-in, it does it’s own rendering, and it focuses mostly on rendering text with some images. It comes with many useful libraries for working with source code, e-mail, IRC, revision control systems, system processes, and the filesystem. It comes with it’s own markdown system called “Org Mode,” which is useful for composing documents that are not source code. It even ships with a few games.

Vi, on the other hand, is more of a UI/UX implemented by many software. There is the old Unix Vi, there is Vim, and Neovim. Emacs also has a Vi implementation called “Evil” which is written in Lisp. Of course, none of these editors have anything in common except the user interface and user experience, so they all “feel like” Vim.

So it is a little strange comparing Emacs and Vim. Emacs is a programming language and IDE, Vim is a user interface. It is like comparing Node.js with Xfce.

@hell @tusharhero

Monaco Editor