annotate runtime/doc/if_perl.txt @ 1668:0b796e045c42 v7.2b.000

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