98-277: the vim editor: philosophy, principles and practice

121
98-277: The Vim Editor: Philosophy, Principles and Practice

Upload: dokhue

Post on 14-Feb-2017

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 98-277: The Vim Editor: Philosophy, Principles and Practice

98-277: The Vim Editor: Philosophy, Principles and Practice

Page 2: 98-277: The Vim Editor: Philosophy, Principles and Practice

Lecture 0: Welcome & Conventions

(Hence, not much of meat, but a lot to know)

Page 3: 98-277: The Vim Editor: Philosophy, Principles and Practice

Announcements

• There will be no class next Monday!

• (Labour day!)

• Go out and have fun!

Page 4: 98-277: The Vim Editor: Philosophy, Principles and Practice

Course Website

http://andrew.cmu.edu/~haoxuany/vim

Props to Andrew Benson(adbenson) for creating the amazingly beautiful CSS!!!

:)

Poll the website for homeworks and announcements!

Page 5: 98-277: The Vim Editor: Philosophy, Principles and Practice

• Course Logistics :(

• A Bit of Foreshadowing...

• Installing Vim

• Keyboard Ergonomics

Page 6: 98-277: The Vim Editor: Philosophy, Principles and Practice

• Course Logistics :(

• A Bit of Foreshadowing...

• Installing Vim

• Keyboard Ergonomics

Page 7: 98-277: The Vim Editor: Philosophy, Principles and Practice

whoami

• Haoxuan "Aaron" Yue (Plz call me Aaron)

[email protected]

• School of Computer Science, Class of 2018

• Started using Vim rougly 6+ years ago

• Thought it was awful, was miserable (but we'll talk about it later...)

• Use Vim exclusively for text editing now

Page 8: 98-277: The Vim Editor: Philosophy, Principles and Practice

This is me!

Page 9: 98-277: The Vim Editor: Philosophy, Principles and Practice

http://abstrusegoose.com/354

Page 10: 98-277: The Vim Editor: Philosophy, Principles and Practice

Before that...

This is a StuCo course!!!

Page 11: 98-277: The Vim Editor: Philosophy, Principles and Practice

Meaning...

• You are REQUIRED to attend class!

• More specifically, you are not allowed to miss more than 2 classes. (StuCo policy)

• (If there are documented illnesses, emergency situations, university bussiness etc., email me or talk to me preferably BEFORE it happens)

Page 12: 98-277: The Vim Editor: Philosophy, Principles and Practice

Meaning...

• Def Missing Class: Not coming, Tardiness (miss more than 15 minutes of class).

• To enforce that, you are REQUIRED to sign an attendence sheet (during class)

• Please remember to do that!! It's hard to verify attendence if you don't.

Page 13: 98-277: The Vim Editor: Philosophy, Principles and Practice

Grading

• Aside from attendance...

• 40% Homeworks

• 5 homeworks in total (each 8%).

• PRINT, finish, and hand it in the next class after it is assigned.

• Unless in special circumstances, will not accept late homework.

Page 14: 98-277: The Vim Editor: Philosophy, Principles and Practice

Homework

• Roughly 3 problems each.• 1st problem is basically lecture material.• Recommend doing without referencing the

lecture notes.• (*May* show up on exams *hint hint*).

• Other problems extend the discussion in lecture.

• Please do them! Very few resources out there cover these (will talk about that later).

Page 15: 98-277: The Vim Editor: Philosophy, Principles and Practice

Grading

• 30% Midterm

• 30% Finals

• Midterm will NOT be curved. Finals may be.

• Midterm will not cover commands (generally), hence understand, don't memorize.

• Final will cover nearly all commands in lecture!

• Passing requires 60% (under consideration...)

Page 16: 98-277: The Vim Editor: Philosophy, Principles and Practice

Grading

• On a side note

• It shouldn't be a tough course!

• Please do all the homeworks!

• Pay attention in lecture, since the material is very different from others...

• Which brings us to...

Page 17: 98-277: The Vim Editor: Philosophy, Principles and Practice

• Course Logistics :(

• A Bit of Foreshadowing...

• Installing Vim

• Keyboard Ergonomics

Page 18: 98-277: The Vim Editor: Philosophy, Principles and Practice

• Course Logistics :(

• A Bit of Foreshadowing...

• Installing Vim

• Keyboard Ergonomics

Yay! :D

Page 19: 98-277: The Vim Editor: Philosophy, Principles and Practice

What is Vim?

• Vim is a text editor.

Page 20: 98-277: The Vim Editor: Philosophy, Principles and Practice

What is Vim?

• Vim is a text editor.

•This is actually true.• Moreover, Vim is a text editor specially

designed for programmers. (Especially C-style programmers, but also works pretty well with other languages).

Page 21: 98-277: The Vim Editor: Philosophy, Principles and Practice

A bit more about me...

• 14 slides ago: "Started using Vim rougly 6+ years ago"

• Emphasis on the word *started*

• Then I quit...

Page 22: 98-277: The Vim Editor: Philosophy, Principles and Practice

A bit more about me...

• 15 slides ago: "Started using Vim rougly 6+ years ago"

• Emphasis on the word *started*

• Then I ragequit...

Page 23: 98-277: The Vim Editor: Philosophy, Principles and Practice

A bit more about me...

• 16 slides ago: "Started using Vim rougly 6+ years ago"

• Emphasis on the word *started*

• Then I ragequit...

• Well not completely. Picked it up again sometime around 6 years ago.

• Then ragequit again. Until finally one day decided to actually learn it.

Page 24: 98-277: The Vim Editor: Philosophy, Principles and Practice

A bit more about me...

• 17 slides ago: "Started using Vim rougly 6+ years ago"

• Emphasis on the word *started*

• Then I ragequit...

• Well not completely. Picked it up again sometime around 6 years ago.

• Then ragequit again. Until finally one day decided to actually learn? it.

Page 25: 98-277: The Vim Editor: Philosophy, Principles and Practice

A bit more about me...

• 3 weeks. Food + vimtutor.

• At least 4 hrs of vimtutor drill over and over and over again.

Page 26: 98-277: The Vim Editor: Philosophy, Principles and Practice

A bit more about me...

• 3 weeks. Food + vimtutor.

• At least 4 hrs of vimtutor drill over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over again.

Page 27: 98-277: The Vim Editor: Philosophy, Principles and Practice
Page 28: 98-277: The Vim Editor: Philosophy, Principles and Practice

Moral of the Story?

• Vim is hard!

• Vim is not for mortals like me!

• Screw that, I'll just use another editor instead.... Why would I spend so much time on it? (in your case, an entire course)

Page 29: 98-277: The Vim Editor: Philosophy, Principles and Practice

Moral of the Story?

• Vim is hard!

• Vim is not for mortals like me!

• Screw that, I'll just use another editor instead.... Why would I spend so much time on it? (in your case, an entire course)

• Completely WRONG moral of the story

Page 30: 98-277: The Vim Editor: Philosophy, Principles and Practice

Actual Moral of the Story

• vimtutor is BAD BAD BAD!!!

• Something you learn in retrospect...

Page 31: 98-277: The Vim Editor: Philosophy, Principles and Practice

Something you hear very often...

• "Vim is hard to learn for beginners"

• "Vim is great since it has many commands, which makes you fast"

Page 32: 98-277: The Vim Editor: Philosophy, Principles and Practice

Something you hear very often...

• "Vim is hard to learn for beginners"

• "Vim is great since it has many commands, which makes you fast"

• "<insert random editor name> is better since it has <insert feature name>."

Page 33: 98-277: The Vim Editor: Philosophy, Principles and Practice

Something you hear very often...

• They are all either wrong, or unintentionally misleading...

• They all miss the point!

• Vim is also not hard to learn, it is just that most resources out there are complete garbage.

Page 34: 98-277: The Vim Editor: Philosophy, Principles and Practice

To list a few...

• Resources you should avoid:

• vimtutor (Worst offender, probably should give it some kind of award)

• Two books from O'Reilly

• Also, almost everything...

Page 35: 98-277: The Vim Editor: Philosophy, Principles and Practice

To list a few...

• Resources you should avoid:

• vimtutor (Worst offender, probably should give it some kind of award)

• Two books from O'Reilly

• Also, almost everything...

Page 36: 98-277: The Vim Editor: Philosophy, Principles and Practice

To list a few...

• Resources you should avoid:

• vimtutor (Worst offender, probably should give it some kind of award)

• Two books from O'Reilly

• Also, almost everything...

Page 37: 98-277: The Vim Editor: Philosophy, Principles and Practice

Actually Good Resources

Page 38: 98-277: The Vim Editor: Philosophy, Principles and Practice

Actually Good Resources

• However, Practical Vim requires some familiarity with Vim...

• By that time, most people have already completed vimtutor :(

• There are also roughly 3 screencasts from Destroy All Software, by Gary Bernhardt, though it's a bit pricy...

Page 39: 98-277: The Vim Editor: Philosophy, Principles and Practice

Emphasis in this course

• Systematic use of Vim

Page 40: 98-277: The Vim Editor: Philosophy, Principles and Practice

Emphasis in this course

• Systematic use of Vim

• Command Clarity and Ergonomics

Page 41: 98-277: The Vim Editor: Philosophy, Principles and Practice

Emphasis in this course

• Systematic use of Vim

• Command Clarity and Ergonomics

• Use Cases– When to use certain commands

Page 42: 98-277: The Vim Editor: Philosophy, Principles and Practice

Emphasis in this course

• Systematic use of Vim

• Command Clarity and Ergonomics

• Use Cases– When to use certain commands

– When NOT to use certain commands (antipatterns)

Page 43: 98-277: The Vim Editor: Philosophy, Principles and Practice

Emphasis in this course

• Systematic use of Vim

• Command Clarity and Ergonomics

• Use Cases– When to use certain commands

– When NOT to use certain commands (antipatterns)• WHY?

Page 44: 98-277: The Vim Editor: Philosophy, Principles and Practice

So why this course?

• Explain HOW to think about text editing. (Philosophy)

Page 45: 98-277: The Vim Editor: Philosophy, Principles and Practice

So why this course?

• Explain HOW to think about text editing. (Philosophy)

• Explain what RULES we follow when we manage integration of features, and why some commands are better than others. Also, why we DON'T use some commands. (Principles)

Page 46: 98-277: The Vim Editor: Philosophy, Principles and Practice

So why this course?

• Explains HOW to use Vim commands. (Practice).

• And most importantly, throughout the course explains a fundamental question...

Page 47: 98-277: The Vim Editor: Philosophy, Principles and Practice

WHY VIM?

Page 48: 98-277: The Vim Editor: Philosophy, Principles and Practice

Word of Warning!!

• This course does have prerequisites!!!• Requires working knowledge of using a unix(-

based/-like) command line• basic shell commands (ls, mkdir, cd, ...)• some utilities (make, man, ...)• it's okay to be bad at shell scripting• These commands will NOT be reviewed in

lecture!!• There is a course for that:

http://www.cs.cmu.edu/~15131/

Page 49: 98-277: The Vim Editor: Philosophy, Principles and Practice

Word of Warning!!

• This course is in no way "beginner-friendly", nor is it a crash course.

• In fact, you should be very wary of crash courses that tries to explain Vim.

• We won't even be able to actually use Vim until roughly the 6th lecture.

Page 50: 98-277: The Vim Editor: Philosophy, Principles and Practice

Word of Warning!!

• Some topics will be covered in much detail (navigation, repetition...)

• Some of them will only be covered if there is time left at the end of the semester (plugins...)

• This is a new course with brand new material, so the syllabus should only used as a rough reference.

Page 51: 98-277: The Vim Editor: Philosophy, Principles and Practice

Word of Warning!!

• Some topics will only be briefly mentioned, because these features are nearly obsolete (marks...)

• Some topics will be intentionally avoided! Because they are either broken or its fundamental ideas are WRONG (vimscript, vim regular expressions, certain plugins)

Page 52: 98-277: The Vim Editor: Philosophy, Principles and Practice

• Course Logistics :(

• A Bit of Foreshadowing...

• Installing Vim

• Keyboard Ergonomics

Page 53: 98-277: The Vim Editor: Philosophy, Principles and Practice

• Cool thing about Vim is that it is *mostly* designed to be portable.

• *mostly*

• However, it doesn't run on your toaster.• (maybe if you really try).

• For the purposes of this course, we will be using a very specific version of Vim.

Page 54: 98-277: The Vim Editor: Philosophy, Principles and Practice

Requirements

• For this particular course, you need Vim 7.4 huge version with ruby support.

• (Huh?)

• First thing to know is that every subversion upgrade introduces quite a few important changes.

• Vim 7.3 *may* work, but do not depend on it.

Page 55: 98-277: The Vim Editor: Philosophy, Principles and Practice

• Vim comes in different flavors...

• tiny

• small

• normal

• big

• huge

• There is very little reason not to use the huge version...

Page 56: 98-277: The Vim Editor: Philosophy, Principles and Practice

Check Version

• vim --version

• (good idea to pipe into less)

• Within vim:

• :version<CR>

• <CR> stands for "Carriage Return". For our purposes, it's the Enter key on the keyboard.

Page 57: 98-277: The Vim Editor: Philosophy, Principles and Practice
Page 58: 98-277: The Vim Editor: Philosophy, Principles and Practice
Page 59: 98-277: The Vim Editor: Philosophy, Principles and Practice

Ruby Support

• The only reason for this requirement is that there is a very specific plugin that we will talk about called Command-T:

• https://github.com/wincent/Command-T

• Requires vim compiled with ruby support

• vim --version | grep ruby

• Make sure that there is a "+" sign next to "ruby".

Page 60: 98-277: The Vim Editor: Philosophy, Principles and Practice

Ruby Support

• Also requires a "compatible" ruby version installed in system.

• Read the plugin README markdown on github, gives you all the details for that.

• Also requires a C compiler, highly unlikely that you don't have one.

Page 61: 98-277: The Vim Editor: Philosophy, Principles and Practice

OS woes

• Some operating systems are very uncooperative...

• In fact, one specific operating system comes to mind.

• We'll try workarounds, for time being, here's a general guide.

Page 62: 98-277: The Vim Editor: Philosophy, Principles and Practice

Linux (okay, GNU/Linux)

• Assume that you know what you are doing... (probably hear that pretty often).

• For ubuntu-based systems, apt-get has precompiled packages

• sudo apt-get install vim vim-common vim-nox vim-runtime

• vim-gtk?• vim-nox contains ruby support

Page 63: 98-277: The Vim Editor: Philosophy, Principles and Practice

Unix based OSes

• Also assume you know what you are doing...

• Package managers are the way to go.

• For Macs, I believe homebrew has macvim packages.

• According to the website, macvim has all features of Vim 7.4.

• I don't own a Mac.

Page 64: 98-277: The Vim Editor: Philosophy, Principles and Practice

Windows (ugh)

• Would be a good time to reflect on your life choices...

• Why are you even using Windows for development?

• Also does not have prebuilt unix utilites, such as make, grep, etc.

• Insanely hard to work with.

Page 65: 98-277: The Vim Editor: Philosophy, Principles and Practice

Windows

• With that said, I could not get Vim on Windows to work. :(

• I've tried many many things: compile from source (doesn't work with rubygems), gvim (also doesn't work with rubygems), Cygwin (doesn't work with anything).

• If anyone knows workarounds, email me and I'll post it.

Page 66: 98-277: The Vim Editor: Philosophy, Principles and Practice

Temporary Workaround

• For those who use Windows or those who do not fit in either category

• Use SSH, requires andrewid• First, you need an ssh client (only

applies to Windows users)• PuTTy has some saner colorschemes.• Cygwin (along with its tools) is actually

pretty nice.

Page 67: 98-277: The Vim Editor: Philosophy, Principles and Practice

Temporary Workaround

• Update!: As of writing, computing services just installed the required vim version for this course :D

Page 68: 98-277: The Vim Editor: Philosophy, Principles and Practice

Temporary Workaround

• Update!: As of writing, computing services just installed the required vim version for this course :D

Page 69: 98-277: The Vim Editor: Philosophy, Principles and Practice

Temporary Workaround

• Put this in your .bashrc over AFS timeshares:

• alias vim='vim74'• alias vimdiff='vim -d'• alias vi='vim'

Page 70: 98-277: The Vim Editor: Philosophy, Principles and Practice

Temporary Workaround

• Put this in your .bashrc over AFS timeshares:

• alias vim='vim74'• alias vimdiff='vim -d'• alias vi='vim'• (OPTIONALLY):• alias vimtutor='clear && @#$% you!'

Page 71: 98-277: The Vim Editor: Philosophy, Principles and Practice

Temporary Workaround

• Put this in your .bashrc over AFS timeshares:

• alias vim='vim74'• alias vimdiff='vim -d'• alias vi='vim'• (OPTIONALLY):• alias vimtutor='clear && @#$% you!'• Outdated again! (default is vim7.4)

4-letter curse word of

your choice

Page 72: 98-277: The Vim Editor: Philosophy, Principles and Practice

Temporary Workaround

• We will be installing Vim in AFS with andrew linux/unix.

• In short:

• Dowload Vim: ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2

• untar/unbzip

• Make with options

Page 73: 98-277: The Vim Editor: Philosophy, Principles and Practice

Temporary Workaround

• As per unix standards...

• First cd to src directory...• make distclean• ./configure --with-features=huge --

enable-rubyinterp• Now add the directory to your $PATH

Page 74: 98-277: The Vim Editor: Philosophy, Principles and Practice

• Course Logistics :(

• A Bit of Foreshadowing...

• Installing Vim

• Keyboard Ergonomics

Page 75: 98-277: The Vim Editor: Philosophy, Principles and Practice

A bit of a history lesson

• Back in the good ol' days.

• ed

Page 76: 98-277: The Vim Editor: Philosophy, Principles and Practice

A bit of a history lesson

• Back in the good ol' days.

• ed

• while(scanf("%s", str) != EOF)– printf("?\n");

Page 77: 98-277: The Vim Editor: Philosophy, Principles and Practice

A bit of a history lesson

• em

• "editor for mortals"

• en

• redesigned into ex (by Bill Joy)

Page 78: 98-277: The Vim Editor: Philosophy, Principles and Practice

A bit of a history lesson

• then there's vi.

• pronouced "vee-eye"

• Stands for "Visual mode" (literally)

• Modes <- very central

Page 79: 98-277: The Vim Editor: Philosophy, Principles and Practice

A bit of a history lesson

• Licensing issues...

• -> "vi clones": elvis, nvi, etc.

• Vim

• Note that in this course, we will be talking about Vim specifically, not vi

• There are very important differences!!

Page 80: 98-277: The Vim Editor: Philosophy, Principles and Practice

A bit of a history lesson

• "Vim"

• Stands for "Vi IMitation" initally...

• Now, it stands for "Vi IMproved"!

• Drastic improvements.

Page 81: 98-277: The Vim Editor: Philosophy, Principles and Practice

Why do we care?

Page 82: 98-277: The Vim Editor: Philosophy, Principles and Practice

Why do we care?

• Because software isn't the only thing that changed over the years...

• vi first written in 1976..

• with ADM-3...

• Hardware also changed as well.

Page 83: 98-277: The Vim Editor: Philosophy, Principles and Practice

Keyboards

What it looked like in the good ol' days

Page 84: 98-277: The Vim Editor: Philosophy, Principles and Practice

Keyboards

What it looked like in the good ol' days

Page 85: 98-277: The Vim Editor: Philosophy, Principles and Practice

Keyboards

• The keyboards back in the good ol' days are surprisingly well-designed!

• (the key placements at least)

• There are still problems. Many.

Page 86: 98-277: The Vim Editor: Philosophy, Principles and Practice

Standard Keyboards

Page 87: 98-277: The Vim Editor: Philosophy, Principles and Practice

Standard Keyboards

Page 88: 98-277: The Vim Editor: Philosophy, Principles and Practice

Standard Keyboards

More obvious issue: 3 hands?!?

Page 89: 98-277: The Vim Editor: Philosophy, Principles and Practice

Standard Keyboards

• Mouse... Same issues

Page 90: 98-277: The Vim Editor: Philosophy, Principles and Practice

http://xkcd.com/1530/

Page 91: 98-277: The Vim Editor: Philosophy, Principles and Practice

Standard Keyboards

• For the purposes for this course, we shall pretend that those areas and the mouse do not exist.

• They're just a figment of your imagination.

Page 92: 98-277: The Vim Editor: Philosophy, Principles and Practice

Standard Keyboards

Page 93: 98-277: The Vim Editor: Philosophy, Principles and Practice

Standard Keyboards

Um...

Page 94: 98-277: The Vim Editor: Philosophy, Principles and Practice

Standard Keyboards

Um...

Page 95: 98-277: The Vim Editor: Philosophy, Principles and Practice

Standard Keyboards

Um...

Page 96: 98-277: The Vim Editor: Philosophy, Principles and Practice

Standard Keyboards

Um...

Page 97: 98-277: The Vim Editor: Philosophy, Principles and Practice

Standard Keyboards

Solution?

Ergonomics Split Keyboard!

Page 98: 98-277: The Vim Editor: Philosophy, Principles and Practice

Split Keyboards

Page 99: 98-277: The Vim Editor: Philosophy, Principles and Practice

Split Keyboards

Page 100: 98-277: The Vim Editor: Philosophy, Principles and Practice

Split Keyboards

Microsoft Natural Ergonomics 4000

Page 101: 98-277: The Vim Editor: Philosophy, Principles and Practice

Split Keyboards

• You can still get Carpal Tunnel if you use Vim!!

• Significantly better than emacs keybindings, still...

Page 102: 98-277: The Vim Editor: Philosophy, Principles and Practice

Split Keyboards

• There are two modifier keys Vim uses:

• Control: <C->

• Shift: <S-> (usually no explicit notation)

Page 103: 98-277: The Vim Editor: Philosophy, Principles and Practice

Keyboards

Page 104: 98-277: The Vim Editor: Philosophy, Principles and Practice

Keyboards

Eh..

Page 105: 98-277: The Vim Editor: Philosophy, Principles and Practice

Keyboards

Eh..

Page 106: 98-277: The Vim Editor: Philosophy, Principles and Practice

Keyboards

Control

Page 107: 98-277: The Vim Editor: Philosophy, Principles and Practice

Legitimate reasons not to remap your Caps Lock key

Page 108: 98-277: The Vim Editor: Philosophy, Principles and Practice

Legitimate reasons not to remap your Caps Lock key

1. Skyrim

Page 109: 98-277: The Vim Editor: Philosophy, Principles and Practice

Legitimate reasons not to remap your Caps Lock key

1. Skyrim

2. Batman: Arkham

Page 110: 98-277: The Vim Editor: Philosophy, Principles and Practice

Legitimate reasons not to remap your Caps Lock key

1. Skyrim

2. Batman: Arkham

3. Balanced Keyboarding (N/A if you're using a laptop).

http://ergoemacs.org/emacs/swap_CapsLock_Ctrl.html

Page 111: 98-277: The Vim Editor: Philosophy, Principles and Practice

Legitimate reasons not to remap your Caps Lock key

Page 112: 98-277: The Vim Editor: Philosophy, Principles and Practice

Legitimate reasons not to remap your Caps Lock key

"Pop up"

Page 113: 98-277: The Vim Editor: Philosophy, Principles and Practice

Legitimate reasons not to remap your Caps Lock key

1. Skyrim

2. Batman: Arkham

3. Balanced Keyboarding (N/A if you're using a laptop).

http://ergoemacs.org/emacs/swap_CapsLock_Ctrl.html

Typing all Caps? Not a problem in Vim

Page 114: 98-277: The Vim Editor: Philosophy, Principles and Practice

Remapping Caps Lock

• For the purposes of this course, we won't be delving that deep into ergonomics.

• Windows: AutoHotKey (can be turned off) http://vim.wikia.com/wiki/Map_caps_lock_to_escape_in_Windows

Page 115: 98-277: The Vim Editor: Philosophy, Principles and Practice

Remapping Caps Lock

• Macs:

• https://stackoverflow.com/questions/15435253/how-to-remap-the-caps-lock-key-to-control-in-os-x-10-8

Page 116: 98-277: The Vim Editor: Philosophy, Principles and Practice

Remapping Caps Lock

• Linux/GNU Linux/Unix/Unix-like/Other:

• Assume you know what you're doing...

• check system settings

• xmodmap

• Google (shouldn't be too hard)

Page 117: 98-277: The Vim Editor: Philosophy, Principles and Practice

Aside

• When Vim was designed, it used the QWERTY layout....

• Sorry Dvorak users...

• I don't know how to type dvorak, some people have some experience with Vim + dvorak, google them

Page 118: 98-277: The Vim Editor: Philosophy, Principles and Practice

Finally

Page 119: 98-277: The Vim Editor: Philosophy, Principles and Practice

Finally

Page 120: 98-277: The Vim Editor: Philosophy, Principles and Practice

Finally

"Bad" Ergonomics

"Good" Ergonomics

Page 121: 98-277: The Vim Editor: Philosophy, Principles and Practice

Next Time

• The Vim Philosophy (2 most important lectures in the course!!)

• How do we think about text editing?

• What does it mean for an editor to edit text?

• Please set up Vim, and remap your keys!• Study the keyboard layout carefully.

• Remember, no class next Monday!