
Ask HN: Are there any modern alternatives to VIM and Emacs - eliah-lakhin
Hi folks,<p>I would like to know are there any good and modern alternatives to the most popular terminal-based editors such as VIM and Emacs?<p>Thing that I&#x27;m looking for is something like Sublime Text. So keybindings should be more or less familiar for the Windows&#x2F;Mac users(i.e. copypaste through the cmd+c&#x2F;cmd-v), but I want to run it in terminal&#x2F;unix environment. This is very important for me.<p>I know about Nano, but set of code manipulation features is too poor. I want a rich set of &quot;advanced&quot; features like we have in Vim&#x2F;Emacs.<p>Any suggestions?
======
todd8
Sublime Text is pretty and fairly easy to use. I own a copy. However, I would
seriously recommend that you take the time to learn Vim or Emacs. I've used
both, extensively, and can recommend either without reservation. They have
slightly different strengths and weaknesses that lead to endless comparisons,
but neither one would be a mistake to learn and use as your primary
development editor. I currently use Emacs.

Both Emacs and Vim require an investment in time to become productive. The
break even point, where using the new editor is finally not too frustrating to
use, is a few days for either one. Make that investment in time. After a few
weeks the power that these editors provide will start to open up, and after a
year, you will feel like no other tool for editing that can touch what you can
do with these thoroughly professional tools. If you care about your craft,
take the dive and learn a first class tool. They are open source and run on
almost anything.

~~~
eliah-lakhin
Hm... What can you say about Textadept? For the first glance it seems like a
good alternative with lesser entry barriers. At least comparing with vanilla
vim and emacs.

~~~
todd8
Thanks for pointing out Textadept. I'm going to take a look at it. Lua seems
almost ideal as an extension language, and it would be a more familiar
language than Emacs Lisp for most programmers. I want to look at what
Textadept does about Unicode; Lua doesn't yet support it very well (although
there are libraries for using Unicode).

It would still be beneficial to learn Vim or Emacs. The scale and breadth of
add-ons for these environments is staggering. This makes getting started seem
difficult, but one can simply focus on learning the basics (which are all that
are offered by most competing editors). There are good tutorials for both Vim
and Emacs built into the editors. It will only take an hour or so to go
through one and learn the keys and commands for straightforward editing.

Another way to get started would be to start with a stripped down emacs.
Although I use GNU Emacs, there are simpler implementations. I like mg. Its a
micro-emacs that supports most of Emacs's common commands, but has no
extensibility. It's definitely not a toy, and might provide a nice stepping
stone to full GNU Emacs. It runs in a terminal, starts up instantly, and has a
small footprint. On a Mac, I install it with homebrew. Microemacs is the
editor reported to be used by Linus Torvalds.

------
ctb_mg
You should know that most people would probably consider vim as sufficiently
"modern" \-- it is actively maintained and still useful for many. 'vi' is the
old school predecessor...

I believe vim has an "easy mode" which allows it to work as a more traditional
non-modal text editor. You may want to give this a shot and then slowly ease
yourself into the key chords.

~~~
eliah-lakhin
I didn't say that "vim" is not modern. And I know that many people find it
useful. Moreover I use it myself quite often since it is my default console
editor. But I found it not so useful for myself as a primary editor. There are
reasons that I prefered to skip in the root message to avoid starting of flame
war.

But I'm wondering why people keep teach me and advice me how to use vim and
emacs? I didn't ask any advices on these two editors. I just asked about
alternatives. Maybe not so famous alternatives, but anyway.

I respect your feelings on your favourite editor. And I don't claim you to
change your mind about it, nor I want to change mine. I just asked about
alternative products.

------
olgeni
> alternatives to the most popular terminal-based editors such as VIM and
> Emacs?

Emacs for X11 (Lucid or Motif bindings), and gvim of course.

~~~
eliah-lakhin
Hey, but they are GUI based, arn't they? :) I want to use it in my terminal
through the SSH on remote machine.

------
duncan_bayne
So ... what is it you find lacking in Emacs or Vim? Perhaps if you tell us
that we might be able to help.

~~~
eliah-lakhin
I actually didn't work with Emacs, and I tried Vim a little. The major reason
why I gave up is learning curve. Keybindings(especially in Emacs) are too
unfimiliar for windows/mac user like me. And I don't think this is a good idea
to remap all shortcuts(I'm not a big fan of customization).

~~~
mfukar
An interesting conundrum: f you don't feel like learning, can we suggest
anything actually useful?

~~~
eliah-lakhin
oh, comeone! I didn't say I can't/don't want to learn anything. I just said
that learning barrier in case of Emacs specificially is too high for me. I
don't want to spend that much time on code editor. But it doesn't mean I don't
want to learn at all.

To be more specific, if Emacs would have more familiar keybindings for
Windows/Mac users I probably use it. For example from the manual
[http://www.cse.iitb.ac.in/~br/courses/cs699-autumn2013/refs/...](http://www.cse.iitb.ac.in/~br/courses/cs699-autumn2013/refs/emacs-
commands2.html) :

> C-e end of line

Why not just "end"?

> M-v scroll down one page

I would like to use "page-down" instead.

> C-Space Set beginning mark (for region marking for example)

Really? Why not just press "Shift"?

ok, ok, I know that old keyboards didn't have all these buttons, and also
Windows "familiar" key bindings were defined much later. So Emacs and Vim
developers did what they did. But why should I spend so many time in learning
all these oldschool workarounds?

Yes, I want terminal-based editor. But the rest of the killer features of
Emacs or Vim are not so unique these days. I can obtain near the same level of
functionality and flexibility in any modern window-based editor such as
Sublime Text or IntelliJ Idea. Currently I'm using this one as my primary code
editor - just for text, not for Java. And I find that it has even wider range
of handy code manipulation commands than Emacs provides.

So, returning to my question. I would prefer to choose terminal-based code
editor. And it is ok if it will be differ from the editors that I use - I'm
ready to spend time in learning new stuff. But I'm not ready to learn code
editor completely from scratch. That's why I rejected Emacs. ok, maybe I was
wrong, so I would like to hear your opinion.

~~~
ThePawnBreak
I suggest learning Emacs because of the extensibility and the huge amount of
plugins available. I don't think it would take more than a few hours to get
accustomed to basic editing in Emacs (moving with C-n C-p C-f C-f, and
searching as a way of navigating the file, also opening and closing files --
this should be enough to get you started).

I just tried the keys you mentioned in Emacs: they all worked (except for
selecting with Shift). So End takes you to the end of the line, you can scroll
using PgUp and PgDown. The reason that they are not used is that you need to
get your hands of the home row to use them, which makes them unbearably slow
for people used to quick editing.

I hope you'll give it a chance.

~~~
snogglethorpe
> _I just tried the keys you mentioned in Emacs: they all worked (except for
> selecting with Shift)._

Selecting-with-shift works in Emacs too.

[It was added a few years ago so might not work if you've got an ancient
version installed...]

------
gcb0
no.

really, just tested the latest batch of editors. none came even close to
replace vim.

just learn to use shortcuts customization.

~~~
eliah-lakhin
I'm trying Textadept atm. What pros/cons can you say about this one?

------
ftomassetti
What about Sublime Text?

~~~
eliah-lakhin
There are some pitfalls, but generally I like it. The only reason I don't use
it as my main editor - it is not terminal based.

I mean, for example I want to run the editor remotely connecting to remote
server through SSH. And the editor should work with the remote file system
natively. I can't do it with Sublime Text(or not?).

~~~
ulisesrmzroche
Nah, it's going to be between vim and emacs if you want to do that seamlessly.
Try installing tmux though.

------
thenerdfiles
vim-spf13 is the way to go.

I cannot believe how beautifully easy it is to hit the ground running.
_Incomparable._

Except for maybe LightTable, but I'm constantly running into PATH issues. So I
will settle (is it really "settling"?) for PythonMode in vim.

~~~
eliah-lakhin
I will take a look. Thank you!

I suppose keybindings and modes are the same as in vanilla vim?

~~~
thenerdfiles
Keybindings are the same, motions the same — but you should expect _more_
motions (vim-easymotion), a lot of other great plugins, and a very enhanced
<leader>-space.

