
The simple things I want in a text editor - ingve
https://mortoray.com/2016/06/14/the-simple-things-i-want-in-a-text-editor/
======
melloclello
All I want, in any text editor, is multiple cursors [1]. It's a really
powerful concept that renders a large number of otherwise tedious operations
tractable without having to resort to macros or other nonintuitive
abstractions.

I feel like it's such a useful feature that it should be baked into your
operating system's text field widgets from the ground up. It's intuitive
enough, too, that regular users could probably grasp it.

[1] As per Sublime Text:
[http://www.sublimetext.com](http://www.sublimetext.com)

While I'm here I'd like to gripe that while there is a third party Atom
package which adds support for multiple cursors [2], it has a number of bugs
in it which seem to be irresolvable due to some deep architectural issue with
Atom. ARGH.

[2] Sublime-Style-Column-Selection is the only package that attempts to do it
"properly": [https://atom.io/packages/sublime-style-column-
selection](https://atom.io/packages/sublime-style-column-selection)

~~~
haggy
It's not a simple text editor but Jetbrains editors fully support this and I
LOVE it! Agree with you 100% that it should be in everything.

[https://www.jetbrains.com/help/idea/2016.1/multicursor.html](https://www.jetbrains.com/help/idea/2016.1/multicursor.html)

~~~
Tobold
I love the Jetbrains editor, I just wish I could open random files in it,
without it trying to organize them into "projects" or whatever.

~~~
WillAbides
You can open random files with it. From the command line, type `idea
<filepath>`. If you already have a project open, the file will open in the
same window as that project, but it isn't tracked as part of the project. If
you don't have IntelliJ open yet, it starts a new instance with just that
file.

That being said, even though I'm more comfortable with Jetbrains' editors, I
still tend to edit miscellaneous docs in atom or vim.

------
sixhobbits
"Mono-spaced fonts are an anachronism as far as I’m concerned; text is easier
to read when it’s spaced properly. This is certainly true for my text heavy
documents, like this article, but I also prefer to code this way."

I've never met anyone who codes without a fixed-width font. Has anyone here
tried it? What are your experiences?

~~~
dsr_
It was horrible and I stopped as soon as I could.

Proportional fonts are great for reading, but awful for debugging, because
character recognition isn't the same process as reading text. Not in my brain,
anyway. Typos that I would normally catch before moving on to the next
statement went undiscovered until compile time.

------
apas
Sublime Text is the better option right now. Atom is still (too) slow. Can
handle pure programming, remote files over ssh, [1] complex builds, and act as
a one-stop-shop for all your writing needs. [2]

[1] [http://log.liminastudio.com/writing/tutorials/sublime-
tunnel...](http://log.liminastudio.com/writing/tutorials/sublime-tunnel-of-
love-how-to-edit-remote-files-with-sublime-text-via-an-ssh-tunnel)

[2] My personal experience/setup: write in Markdown, export to pretty much
every file format using Pandoc (binds nicely with a ST package) and custom
Pandoc builds/templates. For instance, I export native Markdown to Tufte
Handouts LaTeX-generated PDFs. Love this.

~~~
hollander
Atom looks cool, but is way too slow.

------
teddyh
Huh? The standard argument is that Emacs has everything you would want, and I
only see things in that list which Emacs already has.

(Not if you run it in a _terminal_ , sure, but why would you want to do that?)

~~~
koralatov
Not the author, but I'm guessing what he means is that he wants a simple text
editor that covers his required features and _not much else_.

~~~
dietrichepp
I've noticed that if you add "and not much else" to a list of desired
features, you end up shooting yourself in the foot. This applies to almost
anything that you can get off the shelf.

There seems to be a common pathology among computer programmers to hate
"superfluous" features in their tools and libraries. I'm not talking about
people who are skeptical of potential complexity, but people who dismiss
outright solutions that meet their specifications closely because of the extra
baggage they don't like. This attitude has spawned a number of cool,
lightweight tools, but it's also wasted a lot of time that could have been
spent doing something more productive, like memorizing Pokemon.

Like, "Emacs is too big." Yeah? But Firefox isn't?

------
kozikow
Emacs gets a bad rep for the complexity and learning curve, but I have seen
new users adapt Spacemacs[1] pretty quickly. Emacs may be not the best text
editor after the first week of usage, but after months or years there is
nothing like it, especially when you learn elisp. I almost live in Emacs
nowadays. I agree that vim key bindings are more efficient and I use evil
mode[2] myself, but Emacs does everything except pure text editing better,
regardless if you use vim or neovim.

1\. [http://spacemacs.org/](http://spacemacs.org/) 2\.
[https://www.emacswiki.org/emacs/Evil](https://www.emacswiki.org/emacs/Evil)

------
ChoGGi
Always been a fan of SciTE, I don't particularly enjoy "busy" editors.

[http://www.scintilla.org/SciTE.html](http://www.scintilla.org/SciTE.html)

~~~
douche
That's basically Notepad++, which us Windows folks tend to use pretty heavily.
Notepad++ does pretty much everything on this list, even the questionable
choice of using non-monospace fonts, although that is kind of a PITA to change
from the defaults.

------
CodexArcanum
Though I'm a pretty heavy emacs user, I have a great backup suggestion that
I've really been enjoying: Visual Studio Code.

MS has built a really great editor for lighter text work. Markdown editing
with it is great and language support is getting better each release. Actually
most features of it are getting better with each monthly release. I've been
very pleasantly surprised with it. It's been gaining a number of begrudging
converts at work who use it on their MacBooks as an alternative to Sublime.

------
pvinis
Well, since we are stating what we want in an editor, my most wanted feature
is fuzzy autocomplete on everything. Functions, variables, whatever. It must
understand the context, so if I am about to call a class function on a class,
it should only give suggestions that are in that class. It must be fuzzy,
because I want to type whatever letters in a row I want, and if it exists in
the name, it should suggest it.

This mostly needs compiler/linter/interpreter support. I want it to just work.
It should detect the language I'm using, and just search/download/connect
everything up so I have my awesome fuzzy autocomplete.

Why is that not a thing?

There are projects like
[https://github.com/Valloric/YouCompleteMe](https://github.com/Valloric/YouCompleteMe)
and other ones for Vim and Emacs, but they are not yet what I want them to be.

~~~
kozikow
Emacs helm mode: [https://github.com/emacs-
helm/helm](https://github.com/emacs-helm/helm) .

In Emacs, usually a language support library (like ensime, ycmd or ggtags)
just give you a list of things user can choose from. This list is often passed
to a function like completing-read. You choose the implementation for
complete-read. Helm is a very good option for fuzzy matching implementation.
There are more advanced options like icicles, that let you switch between
completion modes (including fuzzy) on the fly.

------
cyphar
If you use Neovim (or even stock Vim), you can do everything you want.
Proportional fonts are a bit harder because you'd need to change your terminal
font, but presumably you could do it within gvim. Not that I understand the
logic behind wanting proportional fonts for _programming_.

------
Jan_jw
So Notepad++ isn't good enough for you?

~~~
kingosticks
Or Geany (since the author is using Ubuntu)?

------
paublyrne
Sublime Text can handle all of this. I don't use it anymore myself, but why
try to be esoteric.

------
melling
Personally, I want a smarter editor with more precision and less typing, even
if it's difficult to learn. Many developers spend a couple thousand hours a
year in an editor.

The editor should be a precise tool.

For example, AceJump for smart navigation can be found in several editors.

[https://www.youtube.com/watch?v=UZkpmegySnc](https://www.youtube.com/watch?v=UZkpmegySnc)

Ideally, we would augment the keyboard with eye-tracking for navigation, Leap
Motion hand tracking, and voice programming:

[http://ergoemacs.org/emacs/using_voice_to_code.html](http://ergoemacs.org/emacs/using_voice_to_code.html)

~~~
mondoshawan
Eye-tracking is actually rarely what you really want. The problem is that it
tends to cause severe eye strain in a short amount of time as you manually
take control of your eyes and overtense your muscles.

Try visually typing out a sentence on a keyboard by looking at the keys in
sequence as a demonstration. Your eyes naturally will want to be imprecise and
move away from the points you care about, which will cause you to fight the
tendency to saccade, creating both visual disturbances and muscle fatigue.

Eyes are meant for looking, not pointing. :-)

------
Udo
4Coder might be worth checking out:
[https://4coder.handmade.network/](https://4coder.handmade.network/)

It's still relatively early in development, but it's both no-nonsense
minimalistic and crazy customizable.

------
realworldview
Click-bait. Random desires when it's clear that emacs is the same solution.

------
746F7475
Vim has been fine for me

