annotate runtime/doc/if_perl.txt @ 521:f4a775df722b v7.0145

updated for version 7.0145
author vimboss
date Sat, 10 Sep 2005 19:26:26 +0000
parents 4707450c2b33
children 862863033fdd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
236
4707450c2b33 updated for version 7.0066
vimboss
parents: 22
diff changeset
1 *if_perl.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 VIM REFERENCE MANUAL by Sven Verdoolaege
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5 and Matt Gerassimof
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7 Perl and Vim *perl* *Perl*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 1. Editing Perl files |perl-editing|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 2. Compiling VIM with Perl interface |perl-compiling|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 3. Using the Perl interface |perl-using|
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 {Vi does not have any of these commands}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 The Perl interface only works when Vim was compiled with the |+perl| feature.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 1. Editing Perl files *perl-editing*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20 Vim syntax highlighting supports Perl and POD files. Vim assumes a file is
236
4707450c2b33 updated for version 7.0066
vimboss
parents: 22
diff changeset
21 Perl code if the filename has a .pl or .pm suffix. Vim also examines the first
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 line of a file, regardless of the filename suffix, to check if a file is a
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 Perl script (see scripts.vim in Vim's syntax directory). Vim assumes a file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 is POD text if the filename has a .POD suffix.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 To use tags with Perl, you need a recent version of Exuberant ctags. Look
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 here:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 http://ctags.sourceforge.net
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 Alternatively, you can use the Perl script pltags.pl, which is shipped with
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 Vim in the $VIMRUNTIME/tools directory. This script has currently more
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32 features than Exuberant ctags' Perl support.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35 2. Compiling VIM with Perl interface *perl-compiling*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37 To compile Vim with Perl interface, you need Perl 5.004 (or later). Perl must
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38 be installed before you compile Vim. Vim's Perl interface does NOT work with
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39 the 5.003 version that has been officially released! It will probably work
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 with Perl 5.003_05 and later.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42 The Perl patches for Vim were made by:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43 Sven Verdoolaege <skimo@breughel.ufsia.ac.be>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 Matt Gerassimof
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46 Perl for MS-Windows can be found at:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47 http://www.perl.com/CPAN/ports/nt/Standard/x86/
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 ==============================================================================
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50 3. Using the Perl interface *perl-using*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52 *:perl* *:pe*
236
4707450c2b33 updated for version 7.0066
vimboss
parents: 22
diff changeset
53 :pe[rl] {cmd} Execute Perl command {cmd}. The current package
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54 is "main".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56 :pe[rl] << {endpattern}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57 {script}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58 {endpattern}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59 Execute Perl script {script}.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60 {endpattern} must NOT be preceded by any white space.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61 If {endpattern} is omitted, it defaults to a dot '.'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62 like for the |:append| and |:insert| commands. Using
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63 '.' helps when inside a function, because "$i;" looks
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64 like the start of an |:insert| command to Vim.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65 This form of the |:perl| command is mainly useful for
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66 including perl code in vim scripts.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67 Note: This command doesn't work when the Perl feature
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
68 wasn't compiled in. To avoid errors, see
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69 |script-here|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72 Example vim script: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74 function! WhitePearl()
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75 perl << EOF
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76 VIM::Msg("pearls are nice for necklaces");
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77 VIM::Msg("rubys for rings");
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78 VIM::Msg("pythons for bags");
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79 VIM::Msg("tcls????");
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80 EOF
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
81 endfunction
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
82 <
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
83
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
84 *:perldo* *:perld*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
85 :[range]perld[o] {cmd} Execute Perl command {cmd} for each line in the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
86 [range], with $_ being set to the text of each line in
236
4707450c2b33 updated for version 7.0066
vimboss
parents: 22
diff changeset
87 turn, without a trailing <EOL>. Setting $_ will change
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88 the text, but note that it is not possible to add or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
89 delete lines using this command.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
90 The default for [range] is the whole file: "1,$".
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92 Here are some things you can try: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
94 :perl $a=1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95 :perldo $_ = reverse($_);1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96 :perl VIM::Msg("hello")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
97 :perl $line = $curbuf->Get(42)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
98 <
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
99 *E299*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100 Executing Perl commands in the |sandbox| is limited. ":perldo" will not be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
101 possible at all. ":perl" will be evaluated in the Safe environment, if
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
102 possible.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
103
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
104
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
105 *perl-overview*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
106 Here is an overview of the functions that are available to Perl: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
107
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
108 :perl VIM::Msg("Text") # displays a message
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
109 :perl VIM::Msg("Error", "ErrorMsg") # displays an error message
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
110 :perl VIM::Msg("remark", "Comment") # displays a highlighted message
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
111 :perl VIM::SetOption("ai") # sets a vim option
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
112 :perl $nbuf = VIM::Buffers() # returns the number of buffers
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
113 :perl @buflist = VIM::Buffers() # returns array of all buffers
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
114 :perl $mybuf = (VIM::Buffers('qq.c'))[0] # returns buffer object for 'qq.c'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
115 :perl @winlist = VIM::Windows() # returns array of all windows
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
116 :perl $nwin = VIM::Windows() # returns the number of windows
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
117 :perl ($success, $v) = VIM::Eval('&path') # $v: option 'path', $success: 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
118 :perl ($success, $v) = VIM::Eval('&xyz') # $v: '' and $success: 0
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
119 :perl $v = VIM::Eval('expand("<cfile>")') # expands <cfile>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
120 :perl $curwin->SetHeight(10) # sets the window height
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
121 :perl @pos = $curwin->Cursor() # returns (row, col) array
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
122 :perl @pos = (10, 10)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
123 :perl $curwin->Cursor(@pos) # sets cursor to @pos
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
124 :perl $curwin->Cursor(10,10) # sets cursor to row 10 col 10
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
125 :perl $mybuf = $curwin->Buffer() # returns the buffer object for window
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
126 :perl $curbuf->Name() # returns buffer name
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
127 :perl $curbuf->Number() # returns buffer number
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
128 :perl $curbuf->Count() # returns the number of lines
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
129 :perl $l = $curbuf->Get(10) # returns line 10
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
130 :perl @l = $curbuf->Get(1 .. 5) # returns lines 1 through 5
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
131 :perl $curbuf->Delete(10) # deletes line 10
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
132 :perl $curbuf->Delete(10, 20) # delete lines 10 through 20
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
133 :perl $curbuf->Append(10, "Line") # appends a line
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
134 :perl $curbuf->Append(10, "Line1", "Line2", "Line3") # appends 3 lines
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
135 :perl @l = ("L1", "L2", "L3")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
136 :perl $curbuf->Append(10, @l) # appends L1, L2 and L3
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
137 :perl $curbuf->Set(10, "Line") # replaces line 10
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
138 :perl $curbuf->Set(10, "Line1", "Line2") # replaces lines 10 and 11
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
139 :perl $curbuf->Set(10, @l) # replaces 3 lines
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
140 <
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
141 *perl-Msg*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
142 VIM::Msg({msg}, {group}?)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
143 Displays the message {msg}. The optional {group}
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
144 argument specifies a highlight group for Vim to use
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
145 for the message.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
146
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
147 *perl-SetOption*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
148 VIM::SetOption({arg}) Sets a vim option. {arg} can be any argument that the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
149 ":set" command accepts. Note that this means that no
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
150 spaces are allowed in the argument! See |:set|.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
151
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
152 *perl-Buffers*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
153 VIM::Buffers([{bn}...]) With no arguments, returns a list of all the buffers
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
154 in an array context or returns the number of buffers
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
155 in a scalar context. For a list of buffer names or
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
156 numbers {bn}, returns a list of the buffers matching
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
157 {bn}, using the same rules as Vim's internal
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
158 |bufname()| function.
22
cc049b00ee70 updated for version 7.0014
vimboss
parents: 7
diff changeset
159 WARNING: the list becomes invalid when |:bwipe| is
cc049b00ee70 updated for version 7.0014
vimboss
parents: 7
diff changeset
160 used. Using it anyway may crash Vim.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
161
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
162 *perl-Windows*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
163 VIM::Windows([{wn}...]) With no arguments, returns a list of all the windows
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
164 in an array context or returns the number of windows
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
165 in a scalar context. For a list of window numbers
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
166 {wn}, returns a list of the windows with those
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
167 numbers.
22
cc049b00ee70 updated for version 7.0014
vimboss
parents: 7
diff changeset
168 WARNING: the list becomes invalid when a window is
cc049b00ee70 updated for version 7.0014
vimboss
parents: 7
diff changeset
169 closed. Using it anyway may crash Vim.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
170
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
171 *perl-DoCommand*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
172 VIM::DoCommand({cmd}) Executes Ex command {cmd}.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
173
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
174 *perl-Eval*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
175 VIM::Eval({expr}) Evaluates {expr} and returns (success, val).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
176 success=1 indicates that val contains the value of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
177 {expr}; success=0 indicates a failure to evaluate
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
178 the expression. '@x' returns the contents of register
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
179 x, '&x' returns the value of option x, 'x' returns the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
180 value of internal |variables| x, and '$x' is equivalent
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
181 to perl's $ENV{x}. All |functions| accessible from
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
182 the command-line are valid for {expr}.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
183
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
184 *perl-SetHeight*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
185 Window->SetHeight({height})
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
186 Sets the Window height to {height}, within screen
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
187 limits.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
188
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
189 *perl-GetCursor*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
190 Window->Cursor({row}?, {col}?)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
191 With no arguments, returns a (row, col) array for the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
192 current cursor position in the Window. With {row} and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
193 {col} arguments, sets the Window's cursor position to
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
194 {row} and {col}. Note that {col} is numbered from 0,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
195 Perl-fashion, and thus is one less than the value in
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
196 Vim's ruler.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
197
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
198 Window->Buffer() *perl-Buffer*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
199 Returns the Buffer object corresponding to the given
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
200 Window.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
201
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
202 *perl-Name*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
203 Buffer->Name() Returns the filename for the Buffer.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
204
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
205 *perl-Number*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
206 Buffer->Number() Returns the number of the Buffer.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
207
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
208 *perl-Count*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
209 Buffer->Count() Returns the number of lines in the Buffer.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
210
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
211 *perl-Get*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
212 Buffer->Get({lnum}, {lnum}?, ...)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
213 Returns a text string of line {lnum} in the Buffer
236
4707450c2b33 updated for version 7.0066
vimboss
parents: 22
diff changeset
214 for each {lnum} specified. An array can be passed
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
215 with a list of {lnum}'s specified.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
216
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
217 *perl-Delete*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
218 Buffer->Delete({lnum}, {lnum}?)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
219 Deletes line {lnum} in the Buffer. With the second
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
220 {lnum}, deletes the range of lines from the first
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
221 {lnum} to the second {lnum}.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
222
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
223 *perl-Append*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
224 Buffer->Append({lnum}, {line}, {line}?, ...)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
225 Appends each {line} string after Buffer line {lnum}.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
226 The list of {line}s can be an array.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
227
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
228 *perl-Set*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
229 Buffer->Set({lnum}, {line}, {line}?, ...)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
230 Replaces one or more Buffer lines with specified
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
231 {lines}s, starting at Buffer line {lnum}. The list of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
232 {line}s can be an array. If the arguments are
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
233 invalid, replacement does not occur.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
234
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
235 $main::curwin
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
236 The current window object.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
237
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
238 $main::curbuf
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
239 The current buffer object.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
240
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
241
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
242 *script-here*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
243 When using a script language in-line, you might want to skip this when the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
244 language isn't supported. But this mechanism doesn't work: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
245 if has('perl')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
246 perl << EOF
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
247 this will NOT work!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
248 EOF
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
249 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
250 Instead, put the Perl/Python/Ruby/etc. command in a function and call that
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
251 function: >
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
252 if has('perl')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
253 function DefPerl()
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
254 perl << EOF
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
255 this works
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
256 EOF
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
257 endfunction
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
258 call DefPerl()
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
259 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
260 Note that "EOF" must be at the start of the line.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
261
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
262 vim:tw=78:ts=8:ft=help:norl: