Vim self-learning

There are so many things you could do, change, improve What you are going to do must have an impact so it's not something that will not make any difference like clean up the code, making it nicer Everything you do has to have an effect in like a couple of months

One has only limited time available to write code. What to work on next to be most impactful ?

  1. Work on a feature for 2-3 months tops
  2. Build one feature on top of another one
  3. Understand the user

Vim first releases

More supported systems == more users

You need to have an impact, you need to have more users

Find more audience as porting to MS-DOS

How I make users more productive ?

Please distributors (Vim on more Linux and Mac system)

Impactful changes:

Multiple windows and buffers

Make use of larger screens and more memory

Swap file

Reliability, user trust

Impactful changes

Help in a window

More complexity requires more support


Extensibility, you can't build everything yourself

I tried to implement all the features in C code myself using patches from lots of people but there's a limit of how much you can do in the actual code you need some way of allowing people to extend it and add their own stuff

MS-Windows port

Most users are there

Impactful changes:

Syntax highlighting

Making use of faster computers and better screens

Vim script

Extensibility, you can't build everything yourself

Unicode support

ASCII is no longer the standard

Automatic indenting

Users are lazy

Software developers are very lazy and if they can automate something they want to do that


Extensibility, you can't build everything yourself

Impactful changes:

Persistent undo

Don't worry, you can go back in time (and back to the future)

Impactful changes:

Jobs, Channels and Timers

Extensibility, you can't build everything yourself Make use of more powerful computers

Vim 8.0

Started with: let's include lots of patches.

Ask plugin authors: What's missing ? What do users ask for ? What do developers ask for ?

"Ask them what they want, give them what they need"

jwz famously said:

Every program attempts to expand until it can read email. Those programs which cannot so expand are replaced by ones which can. How have you handled feature creep during Vim's 25 years ?


Back to top