How Did Vim Become So Popular

How this talk came to be?

Why h, j, k, and l? 🤔

Why not some other keys?

Why use : to call a command?

🤔

This talk is about

  • Small bits and pieces of Vim's history

  • Vim's origin

  • Fun facts

About me

About me

👋 Nikola Đuza 

🇷🇸 Novi Sad, Serbia 

👨‍💻 Software Engineer & ✍️ Writer

🍍 pragmaticpineapple.com 

👋 Nikola Đuza 

🥳 5+ years of Vim

📃 github.com/nikolalsvk/dotfiles

✍️ pragmaticpineapple.com/tags/vim

About me

Vim is still popular

Vim is still popular

1000+ Attendees

Vim is still popular

5th most popular

Vim is still popular

5th place is great considering Vim got released in 1991

Vim is still popular

How it all started?

vim - vi - ed

🥊 Punch cards and 📈 line editors

🥊 Punch cards

Example of a punch card

🥊 Punch cards

Punching machine IBM 029

🥊 Punch cards

Stack of punch cards

🥊 Punch cards

  • First origins in 19th century

  • Peak in 60s

  • Used well into 21st century

📺 Teleprinters

  • Concept of time sharing

  • Late 60s

  • TeleTYpe writers - TTYs

📺 Teleprinters

🛎 Bell Labs

🛎 Bell Labs

Ken Thompson

  • Creates ed from QED 1969.

  • Adds regular expressions

🏀 LIVE DEMO 🏈

Let's try out the ed editor!

Vim’s dad - The Vi

Vim’s dad - The Vi

Vim’s dad - The Vi

Computer terminal

Vim’s dad - The Vi

George Coulouris shows em to Bill Joy

Vim’s dad - The Vi

Bill Joy is frustrated with ed;
 takes em and creates ex

Vim’s dad - The Vi

  • First version of ex in 1978 - BSD Unix

  • Second BSD Unix - the vi executable

  • vi's first release in 1979

Vim’s dad - The Vi

  • vi's first release in 1979

  • sets conventions for the future

  • h, j, k, and l origin

Vim’s dad - The Vi

h, j, k, and l origin

ADM-3A terminal

Vim’s dad - The Vi

h, j, k, and l origin

ADM-3A terminal keyboard

Vim’s dad - The Vi

Typing : to perform a command

ed's complete silence

From vi to vim

From vi to vim

  • vi only text editor in BSD Unix

  • Emacs is expensive

  • BSD Unix is the base of most others 

From vi to vim

BSD Unix is the base of most others 

From vi to vim

  • vi is proprietary software

  • AT&T source licence needed 

  • open source imitations rise

From vi to vim

  • open source imitations rise

  • STEVIE 

  • ST Editor for VI Enthusiasts

From vi to vim

  • STEVIE

  • ST Editor for VI Enthusiasts

  • Came about 1987

  • STEVIE reaches Bram Moolenaar

From vi to vim

  • STEVIE reaches Bram Moolenaar

  • Fred Fish newsletter

  • Amiga 2000

From vi to vim

Amiga 2000

From vi to vim

  • Bram worked with vi in the university

  • He realized many of vi's feature were missing

  • He gets to work (1988)

From vi to vim

  • Compatability with vi

  • Multi-level undo

  • Quick-fix mode

  • "Vi Imitation" in 1991

From vi to vim

  • "Vi Imitation" in 1991

  • "Vi Improved" in 1993

From vi to vim

  • "Vi Imitation" v1 in 1991

  • "Vi Improved" v2 in 1993

  • v3 in 1994

  • ...

From vi to vim

  • Splitting windows

  • Buffers

  • Swap files

  • Vimscript

  • Syntax highlighting

From vi to vim

Vim gets ported to

  • MS-DOS

  • Mac

  • Unix

Recent times

Recent times

  • 5th most popular today

  • Ubiquity

  • Speed

  • Customizability

Recent times

  • Some hate Vim

  • Getting stuck in Vim

Recent times

Getting stuck in Vim

StackOverflow research from 2017

Recent times

Getting stuck in Vim

Recent times

Getting stuck in Vim

Recent times

Getting stuck in Vim

80 people per hour that need help getting out of Vim

Recent times

Recent times

Recent times

Remember h, j, k, and l?

How did Vim become popular?

How did Vim become popular?

  • Features

  • Speed

  • Flexibility

  • Ubiquity

  • ...

How did Vim become popular?

  • Compatability for over 50 years

  • ed - 1969 - Ken Thompson

  • ex and vi - 1979 - Bill Joy

  • vim - 1991 - Bram Moolenaar

  • neovim - 2014

The Future

The Future

  • 5th most popular overall

  • 2nd in Ruby community

  • Vim is at version 8.2

  • Neovim is stronger than ever

The Future

  • 🤝 Support each other

  • 🔈 VimConf.live

  • 📝 Write blog posts

  • 📹 Stream and create videos

The Future

🙇‍♂️ Thanks!

🐦 Twitter: @nikolalsvk

📝 Blog: pragmaticpineapple.com

💌 Newsletter: pragmaticpineapple.com/newsletter

Made with Slides.com