X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/0b4be0d5ff71ca539da8e741826d499a5d649004..a924faa722f2169e1cee19589221e1a5178313eb:/vi.plp?ds=inline
diff --git a/vi.plp b/vi.plp
index fc5e194..deb30ec 100644
--- a/vi.plp
+++ b/vi.plp
@@ -1,113 +1,56 @@
<(common.inc.plp)><:
- our $VERSION = 'v1.2';
- use Shiar_Sheet::KeySigns qw(%sign); # dependant on $get{ascii}
+Html({
+ title => 'vi cheat sheet',
+ version => '1.3',
+ description => [
+ "Interactive cheat sheet for vi text editors, notably Vim,",
+ "describing each key in various modes.",
+ ],
+ keywords => [qw'
+ vi vim nvi sheet cheat reference overview commands keyboard
+ '],
+ stylesheet => [qw'light dark circus mono red terse'],
+ keys => 1,
+});
- $header{content_type} = "text/html; charset=$sign{charset}";
-
-:>
-
-
-
-
-vi cheat sheet
-
-
-<:= stylesheet(qw'light dark circus mono red terse') :>
-
-<:
- 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)
-
-
--
-
-
-
<:
-use Shiar_Sheet::Keyboard;
-my $keys = Shiar_Sheet::Keyboard->new({do 'vi.inc.pl'});
+use Shiar_Sheet::Keyboard 2;
+my $info = do 'vi.eng.inc.pl' or die $@;
+$info->{def} = do 'vi.inc.pl';
+my $keys = Shiar_Sheet::Keyboard->new($info);
$keys->map($get{map}) or undef $get{map};
$keys->print_rows($get{rows});
:>
-
-
- - 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).
-
+<:
+ $keys->print_legend('legend-types', ['g1' .. 'g4', 'g6' .. 'g9']);
+:>
-
- - 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.
-
+<:
+ $keys->print_legend('legend-options', [qw'arg motion', 'ext vim6', 'ext new vim7']);
+:>
- keyboard map is
<:= $get{map} ? 'set to ' : '' :><:= $keys->{map} :>
-
- ascii mode is
- <:= defined $sign{-ascii} && 'forced ' :><:=
- $sign{-ascii} ? 'on' : 'off' :>
- keys are
<:= $showkeys ? 'always shown' : 'hidden if unassigned' :><:=
- !exists $get{keys} && ' by default' :>
+ !defined $showkeys && ' by default' :>
- default style is
<:= defined $get{style} && 'set to ' :><:= $style :>
-
-
-