Vim Tips Wiki
Register
(Undo revision 35735 by 119.247.209.126 (talk) We keep "comments".)
(<h1 id="Capitulo"> Insert </h1>)
Line 15: Line 15:
 
In Vim, check that you have the blockwise-operators feature (<code>I</code>, <code>A</code>, and more) by entering the <code>:version</code> command. The output should include <code>+visualextra</code>. {{help|+visualextra}}
 
In Vim, check that you have the blockwise-operators feature (<code>I</code>, <code>A</code>, and more) by entering the <code>:version</code> command. The output should include <code>+visualextra</code>. {{help|+visualextra}}
   
  +
Génesis: 2
==Insert==
 
  +
1 Fueron, pues, acabados los cielos y la tierra, y todo el ejército de ellos.
For example, suppose you have some Vim script:
 
  +
2 Y acabó Dios en el día séptimo la obra que hizo; y reposó el día séptimo de toda la obra que hizo.
<pre>
 
  +
3 Y bendijo Dios al día séptimo, y lo santificó, porque en él reposó de toda la obra que había hecho en la creación.
let a = 2
 
  +
El hombre en el huerto del Edén
let b = 3
 
  +
4 Estos son los orígenes de los cielos y de la tierra cuando fueron creados, el día que Jehová Dios hizo la tierra y los cielos,
let c = 4
 
  +
5 y toda planta del campo antes que fuese en la tierra, y toda hierba del campo antes que naciese; porque Jehová Dios aún no había hecho llover sobre la tierra, ni había hombre para que labrase la tierra,
</pre>
 
  +
6 sino que subía de la tierra un vapor, el cual regaba toda la faz de la tierra.
 
  +
7 Entonces Jehová Dios formó al hombre del polvo de la tierra, y sopló en su nariz aliento de vida, y fue el hombre un ser viviente.
You may want to make these variables script-wise (by inserting "<code>s:</code>" before each variable name, so "<code>a</code>" becomes "<code>s:a</code>" etc). To do this, move to the <code>a</code> in the first line, then press Ctrl-V (or Ctrl-Q if you use Ctrl-V for paste), then <code>jj</code> to select a visual block over three lines.
 
  +
8 Y Jehová Dios plantó un huerto en Edén, al oriente; y puso allí al hombre que había formado.
 
  +
9 Y Jehová Dios hizo nacer de la tierra todo árbol delicioso a la vista, y bueno para comer; también el árbol de vida en medio del huerto, y el árbol de la ciencia del bien y del mal.
Now type <code>I</code> to start a special form of insert mode, then type the wanted text (<code>s:</code>). When you press Esc to exit from insert mode, the text will be inserted in the same position on each of the lines affected by the visual block selection.
 
  +
10 Y salía de Edén un río para regar el huerto, y de allí se repartía en cuatro brazos.
 
  +
11 El nombre del uno era Pisón; éste es el que rodea toda la tierra de Havila, donde hay oro;
Instead of inserting text that you type, you may want to insert the contents of a register. To do this, select the visual block and press <code>I</code> as before. Now press Ctrl-R then the character identifying the register. For example, press Ctrl-R then <code>"</code> to insert the unnamed register (the last yanked or deleted text), or press Ctrl-R then <code>+</code> to insert the clipboard.
 
  +
12 y el oro de aquella tierra es bueno; hay allí también bedelio y ónice.
 
  +
13 El nombre del segundo río es Gihón; éste es el que rodea toda la tierra de Cus.
While in insert mode, typing Ctrl-R then <code>"</code> inserts the unnamed register as if you had typed the characters. For example, if one of the characters is Ctrl-H (the code for Backspace), the character will delete the preceding character. If you want to actually insert all characters, including special codes such as Ctrl-H, you need to press Ctrl-R twice (Ctrl-R Ctrl-R <code>"</code>).
 
  +
14 Y el nombre del tercer río es Hidekel; éste es el que va al oriente de Asiria. Y el cuarto río es el Eufrates.
  +
15 Tomó, pues, Jehová Dios al hombre, y lo puso en el huerto de Edén, para que lo labrara y lo guardase.
  +
16 Y mandó Jehová Dios al hombre, diciendo: De todo árbol del huerto podrás comer;
  +
17 más del árbol de la ciencia del bien y del mal no comerás; porque el día que de él comieres, ciertamente morirás.
  +
18 Y dijo Jehová Dios: No es bueno que el hombre esté solo; le haré ayuda idónea para él.
  +
19 Jehová Dios formó, pues, de la tierra toda bestia del campo, y toda ave de los cielos, y las trajo a Adán para que viese cómo las había de llamar; y todo lo que Adán llamó a los animales vivientes, ese es su nombre.
  +
20 Y puso Adán nombre a toda bestia y ave de los cielos y a todo ganado del campo; más para Adán no se halló ayuda idónea para él.
  +
21 Entonces Jehová Dios hizo caer sueño profundo sobre Adán, y mientras éste dormía, tomó una de sus costillas, y cerró la carne en su lugar.
  +
22 Y de la costilla que Jehová Dios tomó del hombre, hizo una mujer, y la trajo al hombre.
  +
23 Dijo entonces Adán: Esto es ahora hueso de mis huesos y carne de mi carne; ésta será llamada Varona, porque del varón fue tomada.
  +
24 Por tanto, dejará el hombre a su padre y a su madre, y se unirá a su mujer, y serán una sola carne.
  +
25 Y estaban ambos desnudos, Adán y su mujer, y no se avergonzaban.
   
 
==Append==
 
==Append==

Revision as of 22:39, 14 October 2013

Tip 194 Printable Monobook Previous Next

created 2002 · complexity basic · author Gergely Kontra · version 6.0


In visual block mode, you can press I to insert text at the same position in multiple lines, and you can press A to append text to each line in a block. As well as inserting or appending text that you type, you can insert or append text from registers, for example, the clipboard. The substitute command can also be used to insert or append text.

In Vim, check that you have the blockwise-operators feature (I, A, and more) by entering the :version command. The output should include +visualextra. :help +visualextra

Génesis: 2 1 Fueron, pues, acabados los cielos y la tierra, y todo el ejército de ellos. 2 Y acabó Dios en el día séptimo la obra que hizo; y reposó el día séptimo de toda la obra que hizo. 3 Y bendijo Dios al día séptimo, y lo santificó, porque en él reposó de toda la obra que había hecho en la creación. El hombre en el huerto del Edén 4 Estos son los orígenes de los cielos y de la tierra cuando fueron creados, el día que Jehová Dios hizo la tierra y los cielos, 5 y toda planta del campo antes que fuese en la tierra, y toda hierba del campo antes que naciese; porque Jehová Dios aún no había hecho llover sobre la tierra, ni había hombre para que labrase la tierra, 6 sino que subía de la tierra un vapor, el cual regaba toda la faz de la tierra. 7 Entonces Jehová Dios formó al hombre del polvo de la tierra, y sopló en su nariz aliento de vida, y fue el hombre un ser viviente. 8 Y Jehová Dios plantó un huerto en Edén, al oriente; y puso allí al hombre que había formado. 9 Y Jehová Dios hizo nacer de la tierra todo árbol delicioso a la vista, y bueno para comer; también el árbol de vida en medio del huerto, y el árbol de la ciencia del bien y del mal. 10 Y salía de Edén un río para regar el huerto, y de allí se repartía en cuatro brazos. 11 El nombre del uno era Pisón; éste es el que rodea toda la tierra de Havila, donde hay oro; 12 y el oro de aquella tierra es bueno; hay allí también bedelio y ónice. 13 El nombre del segundo río es Gihón; éste es el que rodea toda la tierra de Cus. 14 Y el nombre del tercer río es Hidekel; éste es el que va al oriente de Asiria. Y el cuarto río es el Eufrates. 15 Tomó, pues, Jehová Dios al hombre, y lo puso en el huerto de Edén, para que lo labrara y lo guardase. 16 Y mandó Jehová Dios al hombre, diciendo: De todo árbol del huerto podrás comer; 17 más del árbol de la ciencia del bien y del mal no comerás; porque el día que de él comieres, ciertamente morirás. 18 Y dijo Jehová Dios: No es bueno que el hombre esté solo; le haré ayuda idónea para él. 19 Jehová Dios formó, pues, de la tierra toda bestia del campo, y toda ave de los cielos, y las trajo a Adán para que viese cómo las había de llamar; y todo lo que Adán llamó a los animales vivientes, ese es su nombre. 20 Y puso Adán nombre a toda bestia y ave de los cielos y a todo ganado del campo; más para Adán no se halló ayuda idónea para él. 21 Entonces Jehová Dios hizo caer sueño profundo sobre Adán, y mientras éste dormía, tomó una de sus costillas, y cerró la carne en su lugar. 22 Y de la costilla que Jehová Dios tomó del hombre, hizo una mujer, y la trajo al hombre. 23 Dijo entonces Adán: Esto es ahora hueso de mis huesos y carne de mi carne; ésta será llamada Varona, porque del varón fue tomada. 24 Por tanto, dejará el hombre a su padre y a su madre, y se unirá a su mujer, y serán una sola carne. 25 Y estaban ambos desnudos, Adán y su mujer, y no se avergonzaban.

Append

In a visual block, you can insert text in each line before the selection with I, and you can append text in each line after the selection with A. If you use $ to convert the visual selection to select to the end of line, then A will append text to the end of each line in the visual block.

For example, suppose the clipboard contains "Hello world." and you have three lines:

First.
This is the second line.
The third.

To insert " Hello world." (space + clipboard) at the end of each of these lines:

  • On a character in the first line, press Ctrl-V (or Ctrl-Q if Ctrl-V is paste).
  • Press jj to extend the visual block over three lines.
  • Press $ to extend the visual block to the end of each line.
  • Press A then space then Ctrl-R then + then Esc.

The result is:

First. Hello world.
This is the second line. Hello world.
The third. Hello world.

Search and replace

The substitute command can be used to insert (or replace) text. Some examples:

:s/^/new text / Insert "new text " at the beginning of the line.
:s/$/ new text/ Append " new text" to the end of the line.
:s/green/bright &/g Replace each "green" with "bright green" in the line.

By default, each command operates on the current line. If you visually select some text before entering the command, it will operate on each line in the visual selection. See Search and replace for details.
Or you can insert a range immediately after the colon, for instance :.-5,$s/ etc. to substitute from 5 lines above the cursor to the end of the file.

See also

References

Comments