diff options
Diffstat (limited to 'contrib/nvi/perl_api/VI.pod')
-rw-r--r-- | contrib/nvi/perl_api/VI.pod | 218 |
1 files changed, 0 insertions, 218 deletions
diff --git a/contrib/nvi/perl_api/VI.pod b/contrib/nvi/perl_api/VI.pod deleted file mode 100644 index a87e24d..0000000 --- a/contrib/nvi/perl_api/VI.pod +++ /dev/null @@ -1,218 +0,0 @@ -=head1 NAME - -VI - VI module within perl embedded nvi - -=head1 SYNOPSIS - - sub wc { - my $words; - $i = $VI::StartLine; - while ($i <= $VI::StopLine) { - $_ = VI::GetLine($VI::ScreenId, $i++); - $words+=split; - } - VI::Msg($VI::ScreenId,"$words words"); - } - -=head1 DESCRIPTION - -This pseudo module is available to perl programs run from within nvi and -provides access to the files being edited and some internal data. - -Beware that you should not use this module from within a C<perldo> or -from within an C<END> block or a C<DESTROY> method. - -=head2 Variables - -These are set by nvi before starting each perl command. - -=over 8 - -=item * $ScreenId - -Screen id of the current screen. - -=item * $StartLine - -Line number of the first line of the selected range or of the file if no -range was specified. - -=item * $StopLine - -Line number of the last line of the selected range or of the file if no -range was specified. - -=back - -=head2 Functions - -=over 8 - -=item * AppendLine - - VI::AppendLine(screenId,lineNumber,text); - -Append the string text after the line in lineNumber. - -=item * DelLine - - VI::DelLine(screenId,lineNum); - -Delete lineNum. - -=item * EndScreen - -VI::EndScreen(screenId); - -End a screen. - -=item * FindScreen - - VI::FindScreen(file); - -Return the screen id associated with file name. - -=item * GetCursor - - ($line, $column) = VI::GetCursor(screenId); - -Return the current cursor position as a list with two elements. - -=item * GetLine - - VI::GetLine(screenId,lineNumber); - -Return lineNumber. - -=item * GetMark - - ($line, $column) = VI::GetMark(screenId,mark); - -Return the mark's cursor position as a list with two elements. - -=item * GetOpt - - VI::GetOpt(screenId,option); - -Return the value of an option. - -=item * InsertLine - - VI::InsertLine(screenId,lineNumber,text); - -Insert the string text before the line in lineNumber. - -=item * LastLine - - VI::LastLine(screenId); - -Return the last line in the screen. - -=item * MapKey - - VI::MapKey(screenId,key,perlproc); - -Associate a key with a perl procedure. - -=item * Msg - - VI::Msg(screenId,text); - -Set the message line to text. - -=item * NewScreen - - VI::NewScreen(screenId); - VI::NewScreen(screenId,file); - -Create a new screen. If a filename is specified then the screen is -opened with that file. - -=item * Run - - VI::Run(screenId,cmd); - -Run the ex command cmd. - -=item * SetCursor - - VI::SetCursor(screenId,line,column); - -Set the cursor to the line and column numbers supplied. - -=item * SetLine - - VI::SetLine(screenId,lineNumber,text); - -Set lineNumber to the text supplied. - -=item * SetMark - - VI::SetMark(screenId,mark,line,column); - -Set the mark to the line and column numbers supplied. - -=item * SetOpt - - VI::SetOpt(screenId,command); - -Set an option. - -=item * SwitchScreen - - VI::SwitchScreen(screenId,screenId); - -Change the current focus to screen. - -=item * UnmapKey - - VI::UnmmapKey(screenId,key); - -Unmap a key. - -=item * Warn - -This is the default warning handler. -It adds any warnings to the error string. - -=back - -=head1 EXAMPLES - - sub showmarks { - my ($mark, $all); - for $mark ('a' .. 'z') { - eval {VI::GetMark($VI::ScreenId, $mark)}; - $all .= $mark unless ($@); - } - VI::Msg($VI::ScreenId,"Set marks: $all"); - } - - sub forall { - my ($code) = shift; - my ($i) = $VI::StartLine-1; - while (++$i <= $VI::StopLine) { - $_ = VI::GetLine($VI::ScreenId, $i); - VI::SetLine($VI::ScreenId, $i, $_) if(&$code); - } - } - -Now you can do - - :perl forall sub{s/perlre/substitution/} - -Although you'll probably use - - :perldo s/perlre/substitution/ - -instead. - -See L<perlre> for perl regular expressions. - -=head1 SEE ALSO - -L<nviperl> - -=head1 AUTHOR - -Sven Verdoolaege <skimo@dns.ufsia.ac.be> |