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.
• Vim comes in different flavors... • tiny • small • normal • big • huge • There is very little reason not to use the huge version...
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.
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".
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.
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.
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
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.
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.
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.
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.
Temporary Workaround • Update!: As of writing, computing services just installed the required vim version for this course :D
Temporary Workaround • Update!: As of writing, computing services just installed the required vim version for this course :D
Temporary Workaround • Put this in your .bashrc over AFS timeshares: • alias vim='vim74' • alias vimdiff='vim -d' • alias vi='vim'
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!'
Temporary Workaround • Put this in your .bashrc over AFS timeshares: • alias vim='vim74' • alias vimdiff='vim -d' • alias vi='vim' 4-letter curse word of • (OPTIONALLY): your choice • alias vimtutor='clear && @#$% you!' • Outdated again! (default is vim7.4)
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
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
• Course Logistics :( • A Bit of Foreshadowing... • Installing Vim • Keyboard Ergonomics
A bit of a history lesson • Back in the good ol' days. • ed
A bit of a history lesson • Back in the good ol' days. • ed • while(scanf("%s", str) != EOF) – printf("?\n");
A bit of a history lesson • em • "editor for mortals" • en • redesigned into ex (by Bill Joy)
A bit of a history lesson • then there's vi. • pronouced "vee-eye" • Stands for "Visual mode" (literally) • Modes <- very central
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!!
A bit of a history lesson • "Vim" • Stands for "Vi IMitation" initally... • Now, it stands for "Vi IMproved"! • Drastic improvements.
Why do we care?
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.
Keyboards What it looked like in the good ol' days
Keyboards What it looked like in the good ol' days
Keyboards • The keyboards back in the good ol' days are surprisingly well-designed! • (the key placements at least) • There are still problems. Many.
Standard Keyboards
Standard Keyboards
Standard Keyboards More obvious issue: 3 hands?!?
Standard Keyboards • Mouse... Same issues
http://xkcd.com/1530/
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.
Standard Keyboards
Standard Keyboards Um...
Standard Keyboards Um...
Standard Keyboards Um...
Standard Keyboards Um...
Standard Keyboards Solution? Ergonomics Split Keyboard!
Split Keyboards
Split Keyboards
Split Keyboards Microsoft Natural Ergonomics 4000
Recommend
More recommend