Mercurial > vim
annotate runtime/doc/usr_25.txt @ 31135:759b181807f7 v9.0.0902
patch 9.0.0902: some mouse scroll code is not in a good place
Commit: https://github.com/vim/vim/commit/696d0a86250636602d42e29e57d8923f538e0549
Author: Christopher Plewright <chris@createng.com>
Date: Fri Nov 18 17:53:34 2022 +0000
patch 9.0.0902: some mouse scroll code is not in a good place
Problem: Some mouse scroll code is not in a good place.
Solution: Refactor the code. (Christopher Plewright, closes https://github.com/vim/vim/issues/11561)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 18 Nov 2022 19:00:05 +0100 |
parents | f8116058ca76 |
children | 4635e43f2c6f |
rev | line source |
---|---|
29314 | 1 *usr_25.txt* For Vim version 9.0. Last change: 2016 Mar 28 |
7 | 2 |
3 VIM USER MANUAL - by Bram Moolenaar | |
4 | |
5 Editing formatted text | |
6 | |
7 | |
8 Text hardly ever comes in one sentence per line. This chapter is about | |
9 breaking sentences to make them fit on a page and other formatting. | |
10 Vim also has useful features for editing single-line paragraphs and tables. | |
11 | |
12 |25.1| Breaking lines | |
13 |25.2| Aligning text | |
14 |25.3| Indents and tabs | |
15 |25.4| Dealing with long lines | |
16 |25.5| Editing tables | |
17 | |
18 Next chapter: |usr_26.txt| Repeating | |
19 Previous chapter: |usr_24.txt| Inserting quickly | |
20 Table of contents: |usr_toc.txt| | |
21 | |
22 ============================================================================== | |
23 *25.1* Breaking lines | |
24 | |
25 Vim has a number of functions that make dealing with text easier. By default, | |
26 the editor does not perform automatic line breaks. In other words, you have | |
27 to press <Enter> yourself. This is useful when you are writing programs where | |
28 you want to decide where the line ends. It is not so good when you are | |
29 creating documentation and want the text to be at most 70 character wide. | |
30 If you set the 'textwidth' option, Vim automatically inserts line breaks. | |
31 Suppose, for example, that you want a very narrow column of only 30 | |
32 characters. You need to execute the following command: > | |
33 | |
34 :set textwidth=30 | |
35 | |
36 Now you start typing (ruler added): | |
37 | |
38 1 2 3 | |
39 12345678901234567890123456789012345 | |
40 I taught programming for a whi ~ | |
41 | |
42 If you type "l" next, this makes the line longer than the 30-character limit. | |
43 When Vim sees this, it inserts a line break and you get the following: | |
44 | |
45 1 2 3 | |
46 12345678901234567890123456789012345 | |
47 I taught programming for a ~ | |
48 whil ~ | |
49 | |
50 Continuing on, you can type in the rest of the paragraph: | |
51 | |
52 1 2 3 | |
53 12345678901234567890123456789012345 | |
54 I taught programming for a ~ | |
55 while. One time, I was stopped ~ | |
56 by the Fort Worth police, ~ | |
57 because my homework was too ~ | |
58 hard. True story. ~ | |
59 | |
60 You do not have to type newlines; Vim puts them in automatically. | |
61 | |
62 Note: | |
63 The 'wrap' option makes Vim display lines with a line break, but this | |
64 doesn't insert a line break in the file. | |
65 | |
66 | |
67 REFORMATTING | |
68 | |
69 The Vim editor is not a word processor. In a word processor, if you delete | |
70 something at the beginning of the paragraph, the line breaks are reworked. In | |
71 Vim they are not; so if you delete the word "programming" from the first line, | |
72 all you get is a short line: | |
73 | |
74 1 2 3 | |
75 12345678901234567890123456789012345 | |
76 I taught for a ~ | |
77 while. One time, I was stopped ~ | |
78 by the Fort Worth police, ~ | |
79 because my homework was too ~ | |
80 hard. True story. ~ | |
81 | |
82 This does not look good. To get the paragraph into shape you use the "gq" | |
83 operator. | |
84 Let's first use this with a Visual selection. Starting from the first | |
85 line, type: > | |
86 | |
87 v4jgq | |
88 | |
5400 | 89 "v" to start Visual mode, "4j" to move to the end of the paragraph and then |
7 | 90 the "gq" operator. The result is: |
91 | |
92 1 2 3 | |
93 12345678901234567890123456789012345 | |
94 I taught for a while. One ~ | |
95 time, I was stopped by the ~ | |
96 Fort Worth police, because my ~ | |
97 homework was too hard. True ~ | |
98 story. ~ | |
99 | |
100 Note: there is a way to do automatic formatting for specific types of text | |
101 layouts, see |auto-format|. | |
102 | |
103 Since "gq" is an operator, you can use one of the three ways to select the | |
104 text it works on: With Visual mode, with a movement and with a text object. | |
105 The example above could also be done with "gq4j". That's less typing, but | |
106 you have to know the line count. A more useful motion command is "}". This | |
107 moves to the end of a paragraph. Thus "gq}" formats from the cursor to the | |
108 end of the current paragraph. | |
109 A very useful text object to use with "gq" is the paragraph. Try this: > | |
110 | |
111 gqap | |
112 | |
113 "ap" stands for "a-paragraph". This formats the text of one paragraph | |
114 (separated by empty lines). Also the part before the cursor. | |
115 If you have your paragraphs separated by empty lines, you can format the | |
116 whole file by typing this: > | |
117 | |
118 gggqG | |
119 | |
120 "gg" to move to the first line, "gqG" to format until the last line. | |
121 Warning: If your paragraphs are not properly separated, they will be joined | |
1256 | 122 together. A common mistake is to have a line with a space or tab. That's a |
7 | 123 blank line, but not an empty line. |
124 | |
1121 | 125 Vim is able to format more than just plain text. See |fo-table| for how to |
7 | 126 change this. See the 'joinspaces' option to change the number of spaces used |
127 after a full stop. | |
128 It is possible to use an external program for formatting. This is useful | |
129 if your text can't be properly formatted with Vim's builtin command. See the | |
130 'formatprg' option. | |
131 | |
132 ============================================================================== | |
133 *25.2* Aligning text | |
134 | |
135 To center a range of lines, use the following command: > | |
136 | |
137 :{range}center [width] | |
138 | |
139 {range} is the usual command-line range. [width] is an optional line width to | |
140 use for centering. If [width] is not specified, it defaults to the value of | |
141 'textwidth'. (If 'textwidth' is 0, the default is 80.) | |
142 For example: > | |
143 | |
144 :1,5center 40 | |
145 | |
146 results in the following: | |
147 | |
148 I taught for a while. One ~ | |
149 time, I was stopped by the ~ | |
150 Fort Worth police, because my ~ | |
151 homework was too hard. True ~ | |
152 story. ~ | |
153 | |
154 | |
155 RIGHT ALIGNMENT | |
156 | |
157 Similarly, the ":right" command right-justifies the text: > | |
158 | |
159 :1,5right 37 | |
160 | |
161 gives this result: | |
162 | |
163 I taught for a while. One ~ | |
164 time, I was stopped by the ~ | |
165 Fort Worth police, because my ~ | |
166 homework was too hard. True ~ | |
167 story. ~ | |
168 | |
169 LEFT ALIGNMENT | |
170 | |
171 Finally there is this command: > | |
172 | |
173 :{range}left [margin] | |
174 | |
175 Unlike ":center" and ":right", however, the argument to ":left" is not the | |
176 length of the line. Instead it is the left margin. If it is omitted, the | |
177 text will be put against the left side of the screen (using a zero margin | |
178 would do the same). If it is 5, the text will be indented 5 spaces. For | |
179 example, use these commands: > | |
180 | |
181 :1left 5 | |
182 :2,5left | |
183 | |
184 This results in the following: | |
185 | |
186 I taught for a while. One ~ | |
187 time, I was stopped by the ~ | |
188 Fort Worth police, because my ~ | |
189 homework was too hard. True ~ | |
190 story. ~ | |
191 | |
192 | |
193 JUSTIFYING TEXT | |
194 | |
195 Vim has no built-in way of justifying text. However, there is a neat macro | |
196 package that does the job. To use this package, execute the following | |
197 command: > | |
198 | |
8795
aba2d0a01290
commit https://github.com/vim/vim/commit/7db8f6f4f85e5d0526d23107b2a5e2334dc23354
Christian Brabandt <cb@256bit.org>
parents:
6336
diff
changeset
|
199 :packadd justify |
aba2d0a01290
commit https://github.com/vim/vim/commit/7db8f6f4f85e5d0526d23107b2a5e2334dc23354
Christian Brabandt <cb@256bit.org>
parents:
6336
diff
changeset
|
200 |
aba2d0a01290
commit https://github.com/vim/vim/commit/7db8f6f4f85e5d0526d23107b2a5e2334dc23354
Christian Brabandt <cb@256bit.org>
parents:
6336
diff
changeset
|
201 Or put this line in your |vimrc|: > |
aba2d0a01290
commit https://github.com/vim/vim/commit/7db8f6f4f85e5d0526d23107b2a5e2334dc23354
Christian Brabandt <cb@256bit.org>
parents:
6336
diff
changeset
|
202 |
aba2d0a01290
commit https://github.com/vim/vim/commit/7db8f6f4f85e5d0526d23107b2a5e2334dc23354
Christian Brabandt <cb@256bit.org>
parents:
6336
diff
changeset
|
203 packadd! justify |
7 | 204 |
236 | 205 This Vim script file defines a new visual command "_j". To justify a block of |
7 | 206 text, highlight the text in Visual mode and then execute "_j". |
207 Look in the file for more explanations. To go there, do "gf" on this name: | |
8795
aba2d0a01290
commit https://github.com/vim/vim/commit/7db8f6f4f85e5d0526d23107b2a5e2334dc23354
Christian Brabandt <cb@256bit.org>
parents:
6336
diff
changeset
|
208 $VIMRUNTIME/pack/dist/opt/justify/plugin/justify.vim. |
7 | 209 |
210 An alternative is to filter the text through an external program. Example: > | |
211 | |
212 :%!fmt | |
213 | |
214 ============================================================================== | |
215 *25.3* Indents and tabs | |
216 | |
217 Indents can be used to make text stand out from the rest. The example texts | |
218 in this manual, for example, are indented by eight spaces or a tab. You would | |
219 normally enter this by typing a tab at the start of each line. Take this | |
220 text: | |
221 the first line ~ | |
222 the second line ~ | |
223 | |
224 This is entered by typing a tab, some text, <Enter>, tab and more text. | |
225 The 'autoindent' option inserts indents automatically: > | |
226 | |
227 :set autoindent | |
228 | |
229 When a new line is started it gets the same indent as the previous line. In | |
230 the above example, the tab after the <Enter> is not needed anymore. | |
231 | |
232 | |
233 INCREASING INDENT | |
234 | |
235 To increase the amount of indent in a line, use the ">" operator. Often this | |
236 is used as ">>", which adds indent to the current line. | |
237 The amount of indent added is specified with the 'shiftwidth' option. The | |
238 default value is 8. To make ">>" insert four spaces worth of indent, for | |
239 example, type this: > | |
240 | |
241 :set shiftwidth=4 | |
242 | |
243 When used on the second line of the example text, this is what you get: | |
244 | |
245 the first line ~ | |
246 the second line ~ | |
247 | |
248 "4>>" will increase the indent of four lines. | |
249 | |
250 | |
251 TABSTOP | |
252 | |
253 If you want to make indents a multiple of 4, you set 'shiftwidth' to 4. But | |
1256 | 254 when pressing a <Tab> you still get 8 spaces worth of indent. To change this, |
7 | 255 set the 'softtabstop' option: > |
256 | |
257 :set softtabstop=4 | |
258 | |
259 This will make the <Tab> key insert 4 spaces worth of indent. If there are | |
260 already four spaces, a <Tab> character is used (saving seven characters in the | |
261 file). (If you always want spaces and no tab characters, set the 'expandtab' | |
262 option.) | |
263 | |
264 Note: | |
265 You could set the 'tabstop' option to 4. However, if you edit the | |
266 file another time, with 'tabstop' set to the default value of 8, it | |
267 will look wrong. In other programs and when printing the indent will | |
268 also be wrong. Therefore it is recommended to keep 'tabstop' at eight | |
269 all the time. That's the standard value everywhere. | |
270 | |
271 | |
272 CHANGING TABS | |
273 | |
274 You edit a file which was written with a tabstop of 3. In Vim it looks ugly, | |
275 because it uses the normal tabstop value of 8. You can fix this by setting | |
276 'tabstop' to 3. But you have to do this every time you edit this file. | |
277 Vim can change the use of tabstops in your file. First, set 'tabstop' to | |
278 make the indents look good, then use the ":retab" command: > | |
279 | |
280 :set tabstop=3 | |
281 :retab 8 | |
282 | |
283 The ":retab" command will change 'tabstop' to 8, while changing the text such | |
284 that it looks the same. It changes spans of white space into tabs and spaces | |
285 for this. You can now write the file. Next time you edit it the indents will | |
286 be right without setting an option. | |
287 Warning: When using ":retab" on a program, it may change white space inside | |
288 a string constant. Therefore it's a good habit to use "\t" instead of a | |
289 real tab. | |
290 | |
291 ============================================================================== | |
292 *25.4* Dealing with long lines | |
293 | |
294 Sometimes you will be editing a file that is wider than the number of columns | |
295 in the window. When that occurs, Vim wraps the lines so that everything fits | |
296 on the screen. | |
297 If you switch the 'wrap' option off, each line in the file shows up as one | |
298 line on the screen. Then the ends of the long lines disappear off the screen | |
299 to the right. | |
300 When you move the cursor to a character that can't be seen, Vim will scroll | |
301 the text to show it. This is like moving a viewport over the text in the | |
302 horizontal direction. | |
303 By default, Vim does not display a horizontal scrollbar in the GUI. If you | |
304 want to enable one, use the following command: > | |
305 | |
306 :set guioptions+=b | |
307 | |
308 One horizontal scrollbar will appear at the bottom of the Vim window. | |
309 | |
310 If you don't have a scrollbar or don't want to use it, use these commands to | |
2033
de5a43c5eedc
Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents:
1702
diff
changeset
|
311 scroll the text. The cursor will stay in the same place, but it's moved back |
7 | 312 into the visible text if necessary. |
313 | |
314 zh scroll right | |
315 4zh scroll four characters right | |
316 zH scroll half a window width right | |
317 ze scroll right to put the cursor at the end | |
318 zl scroll left | |
319 4zl scroll four characters left | |
320 zL scroll half a window width left | |
321 zs scroll left to put the cursor at the start | |
322 | |
323 Let's attempt to show this with one line of text. The cursor is on the "w" of | |
324 "which". The "current window" above the line indicates the text that is | |
325 currently visible. The "window"s below the text indicate the text that is | |
326 visible after the command left of it. | |
327 | |
328 |<-- current window -->| | |
329 some long text, part of which is visible in the window ~ | |
330 ze |<-- window -->| | |
331 zH |<-- window -->| | |
332 4zh |<-- window -->| | |
333 zh |<-- window -->| | |
334 zl |<-- window -->| | |
335 4zl |<-- window -->| | |
336 zL |<-- window -->| | |
337 zs |<-- window -->| | |
338 | |
339 | |
340 MOVING WITH WRAP OFF | |
341 | |
342 When 'wrap' is off and the text has scrolled horizontally, you can use the | |
343 following commands to move the cursor to a character you can see. Thus text | |
344 left and right of the window is ignored. These never cause the text to | |
345 scroll: | |
346 | |
347 g0 to first visible character in this line | |
348 g^ to first non-blank visible character in this line | |
18475
709c6b0dc78f
patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents:
14519
diff
changeset
|
349 gm to middle of screen line |
709c6b0dc78f
patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents:
14519
diff
changeset
|
350 gM to middle of the text in this line |
7 | 351 g$ to last visible character in this line |
352 | |
18475
709c6b0dc78f
patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents:
14519
diff
changeset
|
353 |<-- window -->| |
709c6b0dc78f
patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents:
14519
diff
changeset
|
354 some long text, part of which is visible in one line ~ |
709c6b0dc78f
patch 8.1.2231: not easy to move to the middle of a text line
Bram Moolenaar <Bram@vim.org>
parents:
14519
diff
changeset
|
355 g0 g^ gm gM g$ |
7 | 356 |
357 | |
358 BREAKING AT WORDS *edit-no-break* | |
359 | |
360 When preparing text for use by another program, you might have to make | |
361 paragraphs without a line break. A disadvantage of using 'nowrap' is that you | |
362 can't see the whole sentence you are working on. When 'wrap' is on, words are | |
363 broken halfway, which makes them hard to read. | |
364 A good solution for editing this kind of paragraph is setting the | |
365 'linebreak' option. Vim then breaks lines at an appropriate place when | |
366 displaying the line. The text in the file remains unchanged. | |
367 Without 'linebreak' text might look like this: | |
368 | |
369 +---------------------------------+ | |
370 |letter generation program for a b| | |
371 |ank. They wanted to send out a s| | |
372 |pecial, personalized letter to th| | |
373 |eir richest 1000 customers. Unfo| | |
374 |rtunately for the programmer, he | | |
375 +---------------------------------+ | |
376 After: > | |
377 | |
378 :set linebreak | |
379 | |
380 it looks like this: | |
381 | |
382 +---------------------------------+ | |
383 |letter generation program for a | | |
384 |bank. They wanted to send out a | | |
385 |special, personalized letter to | | |
386 |their richest 1000 customers. | | |
387 |Unfortunately for the programmer,| | |
388 +---------------------------------+ | |
389 | |
390 Related options: | |
391 'breakat' specifies the characters where a break can be inserted. | |
392 'showbreak' specifies a string to show at the start of broken line. | |
393 Set 'textwidth' to zero to avoid a paragraph to be split. | |
394 | |
395 | |
396 MOVING BY VISIBLE LINES | |
397 | |
398 The "j" and "k" commands move to the next and previous lines. When used on | |
399 a long line, this means moving a lot of screen lines at once. | |
400 To move only one screen line, use the "gj" and "gk" commands. When a line | |
401 doesn't wrap they do the same as "j" and "k". When the line does wrap, they | |
402 move to a character displayed one line below or above. | |
403 You might like to use these mappings, which bind these movement commands to | |
404 the cursor keys: > | |
405 | |
406 :map <Up> gk | |
407 :map <Down> gj | |
408 | |
409 | |
6336 | 410 TURNING A PARAGRAPH INTO ONE LINE *edit-paragraph-join* |
7 | 411 |
412 If you want to import text into a program like MS-Word, each paragraph should | |
413 be a single line. If your paragraphs are currently separated with empty | |
414 lines, this is how you turn each paragraph into a single line: > | |
415 | |
416 :g/./,/^$/join | |
417 | |
418 That looks complicated. Let's break it up in pieces: | |
419 | |
420 :g/./ A ":global" command that finds all lines that contain | |
421 at least one character. | |
422 ,/^$/ A range, starting from the current line (the non-empty | |
423 line) until an empty line. | |
424 join The ":join" command joins the range of lines together | |
425 into one line. | |
426 | |
427 Starting with this text, containing eight lines broken at column 30: | |
428 | |
429 +----------------------------------+ | |
430 |A letter generation program | | |
431 |for a bank. They wanted to | | |
432 |send out a special, | | |
433 |personalized letter. | | |
434 | | | |
435 |To their richest 1000 | | |
436 |customers. Unfortunately for | | |
437 |the programmer, | | |
438 +----------------------------------+ | |
439 | |
440 You end up with two lines: | |
441 | |
442 +----------------------------------+ | |
443 |A letter generation program for a | | |
444 |bank. They wanted to send out a s| | |
445 |pecial, personalized letter. | | |
446 |To their richest 1000 customers. | | |
447 |Unfortunately for the programmer, | | |
448 +----------------------------------+ | |
449 | |
450 Note that this doesn't work when the separating line is blank but not empty; | |
451 when it contains spaces and/or tabs. This command does work with blank lines: | |
452 > | |
453 :g/\S/,/^\s*$/join | |
454 | |
455 This still requires a blank or empty line at the end of the file for the last | |
456 paragraph to be joined. | |
457 | |
458 ============================================================================== | |
459 *25.5* Editing tables | |
460 | |
461 Suppose you are editing a table with four columns: | |
462 | |
463 nice table test 1 test 2 test 3 ~ | |
464 input A 0.534 ~ | |
465 input B 0.913 ~ | |
466 | |
467 You need to enter numbers in the third column. You could move to the second | |
468 line, use "A", enter a lot of spaces and type the text. | |
469 For this kind of editing there is a special option: > | |
470 | |
471 set virtualedit=all | |
472 | |
473 Now you can move the cursor to positions where there isn't any text. This is | |
474 called "virtual space". Editing a table is a lot easier this way. | |
475 Move the cursor by searching for the header of the last column: > | |
476 | |
477 /test 3 | |
478 | |
479 Now press "j" and you are right where you can enter the value for "input A". | |
480 Typing "0.693" results in: | |
481 | |
482 nice table test 1 test 2 test 3 ~ | |
483 input A 0.534 0.693 ~ | |
484 input B 0.913 ~ | |
485 | |
486 Vim has automatically filled the gap in front of the new text for you. Now, | |
487 to enter the next field in this column use "Bj". "B" moves back to the start | |
488 of a white space separated word. Then "j" moves to the place where the next | |
489 field can be entered. | |
490 | |
491 Note: | |
492 You can move the cursor anywhere in the display, also beyond the end | |
493 of a line. But Vim will not insert spaces there, until you insert a | |
494 character in that position. | |
495 | |
496 | |
497 COPYING A COLUMN | |
498 | |
499 You want to add a column, which should be a copy of the third column and | |
500 placed before the "test 1" column. Do this in seven steps: | |
501 1. Move the cursor to the left upper corner of this column, e.g., with | |
502 "/test 3". | |
503 2. Press CTRL-V to start blockwise Visual mode. | |
504 3. Move the cursor down two lines with "2j". You are now in "virtual space": | |
505 the "input B" line of the "test 3" column. | |
506 4. Move the cursor right, to include the whole column in the selection, plus | |
507 the space that you want between the columns. "9l" should do it. | |
508 5. Yank the selected rectangle with "y". | |
509 6. Move the cursor to "test 1", where the new column must be placed. | |
510 7. Press "P". | |
511 | |
512 The result should be: | |
513 | |
514 nice table test 3 test 1 test 2 test 3 ~ | |
515 input A 0.693 0.534 0.693 ~ | |
516 input B 0.913 ~ | |
517 | |
518 Notice that the whole "test 1" column was shifted right, also the line where | |
519 the "test 3" column didn't have text. | |
520 | |
521 Go back to non-virtual cursor movements with: > | |
522 | |
523 :set virtualedit= | |
524 | |
525 | |
526 VIRTUAL REPLACE MODE | |
527 | |
528 The disadvantage of using 'virtualedit' is that it "feels" different. You | |
529 can't recognize tabs or spaces beyond the end of line when moving the cursor | |
530 around. Another method can be used: Virtual Replace mode. | |
531 Suppose you have a line in a table that contains both tabs and other | |
532 characters. Use "rx" on the first tab: | |
533 | |
534 inp 0.693 0.534 0.693 ~ | |
535 | |
536 | | |
537 rx | | |
538 V | |
539 | |
540 inpx0.693 0.534 0.693 ~ | |
541 | |
542 The layout is messed up. To avoid that, use the "gr" command: | |
543 | |
544 inp 0.693 0.534 0.693 ~ | |
545 | |
546 | | |
547 grx | | |
548 V | |
549 | |
550 inpx 0.693 0.534 0.693 ~ | |
551 | |
552 What happens is that the "gr" command makes sure the new character takes the | |
553 right amount of screen space. Extra spaces or tabs are inserted to fill the | |
554 gap. Thus what actually happens is that a tab is replaced by "x" and then | |
2033
de5a43c5eedc
Update documentation files.
Bram Moolenaar <bram@zimbu.org>
parents:
1702
diff
changeset
|
555 blanks added to make the text after it keep its place. In this case a |
7 | 556 tab is inserted. |
557 When you need to replace more than one character, you use the "R" command | |
558 to go to Replace mode (see |04.9|). This messes up the layout and replaces | |
559 the wrong characters: | |
560 | |
561 inp 0 0.534 0.693 ~ | |
562 | |
563 | | |
564 R0.786 | | |
565 V | |
566 | |
567 inp 0.78634 0.693 ~ | |
568 | |
569 The "gR" command uses Virtual Replace mode. This preserves the layout: | |
570 | |
571 inp 0 0.534 0.693 ~ | |
572 | |
573 | | |
574 gR0.786 | | |
575 V | |
576 | |
577 inp 0.786 0.534 0.693 ~ | |
578 | |
579 ============================================================================== | |
580 | |
581 Next chapter: |usr_26.txt| Repeating | |
582 | |
14519 | 583 Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl: |