<: use utf8; use strict; use warnings; no warnings "qw"; # you know what you doing no warnings "uninitialized"; # save some useless checks for more legible code # 2006-03-29 ~20:00 started work # 2006-03-30 11:58 html version # 2006-05-20 03:44 perl version # 2007-02-07 07:34 cleaned up # TODO: # - use js to detect optimal key size # - style for .undo (maybe just some css3-only shadow) # - fix mode switching in konq (used to work) # only when s present?! use browser sniffing to force ?ascii=0 :( # - safari loading bug? # - good case for gzip compression # - link to source tarball # - default stylesheet selectable # - catch and execute pressed keys # - ghosting option documented and default # - option to follow aliases (default on?) # - custom row combinations (eg for comparing different modes) our $ascii = 0; if (exists $get{ascii}) { $ascii = $get{ascii} ne "0"; # manual override } elsif (defined $ENV{HTTP_ACCEPT_CHARSET}) { $ascii = 1; for (split ",", $ENV{HTTP_ACCEPT_CHARSET}) { $ascii = 0, last if $_ eq "*" or m/utf-?8/i; } } my $charset = $ascii ? "us-ascii" : "utf-8"; my $ctype = "text/html; charset=$charset"; $header{content_type} = $ctype; :> vi cheat sheet <: my %styles = map {$_ => $_} qw(dark circus mono); our $style = exists $get{style} && $styles{$get{style}} || "light"; printf(qq{\n}, $_ eq $style ? "stylesheet" : "alternate stylesheet", "$_.css", $_ ) for keys %styles; our $showkeys = exists $get{keys} && $get{keys} ne "0"; print "\n" unless $showkeys; print "\n" if $showkeys and $get{keys} eq "ghost"; :>

vi/vim cheat sheet

normal mode (default)


info
Info command: shows/does something without altering anything.
motion
Moves the cursor, or defines the range for an operator (<:= $sign{motion} :>).
positioning
Other movement (jumps, window (re)positioning).
command
Direct action command.
ins mode
Enters Insert or Replace mode.
mode
Enters a different mode.
vis mode
Enters Visual or Select mode.
key cmd
Additional key commands (click for overview).
key<:= $sign{arg} :>
Commands with a dot need a char argument afterwards.
key<:= $sign{motion} :>
Requires a motion afterwards, operates between cursor and destination.
vim
Not in original Vi (assessment incomplete).
vim7
New in vim version 7.x.