diff options
Diffstat (limited to 'vim73/doc/usr_04.esx')
-rw-r--r-- | vim73/doc/usr_04.esx | 524 |
1 files changed, 524 insertions, 0 deletions
diff --git a/vim73/doc/usr_04.esx b/vim73/doc/usr_04.esx new file mode 100644 index 0000000..742a9ee --- /dev/null +++ b/vim73/doc/usr_04.esx @@ -0,0 +1,524 @@ +*usr_04.esx* Para Vim versión 7.3. Último cambio: 7/6/2008 + + MANUAL DE USUARIO DE VIM - por Bram Moolenaar + + Hacer cambios pequeños + + +Este capítulo le muestra diferentes formas de hacer correcciones y moverse +en el texto. Le muestra los tres modos básicos de cambiar texto: +operador-movimiento, modo Visual y objetos de texto. + +|04.1| Operadores y movimiento +|04.2| Cambiar texto +|04.3| Repetir un cambio +|04.4| Modo Visual +|04.5| Mover texto +|04.6| Copiar texto +|04.7| Uso del portapapeles +|04.8| Objetos de texto +|04.9| Modo reemplazar +|04.10| Conclusión + + Capítulo siguiente: |usr_05.esx| Configuración + Capítulo anterior: |usr_03.esx| Desplazamiento +Tabla de contenidos: |usr_toc.esx| + +============================================================================== +*04.1* Operadores y movimiento + +En el capítulo 2 aprendió que la orden «x» elimina un único carácter. Y +que usar un multiplicador: «4x» elimina cuatro caracteres. + La orden «dw» elimina una palabra. Reconocerá la orden «w» como el de +movimiento sobre palabras. De hecho, la orden «d» se ha completar con +una orden de movimiento, y elimina desde la posición actual hasta donde +marque el movimiento. + La orden «4w», por ejemplo, mueve el cursor cuatro palabras. La orden +d4w elimina cuatro palabras. + + Errar es humano. Para liarla de verdad necesitas un ordenador. ~ + ----------------------> + d4w + + Errar es humano. necesitas un ordenador. ~ + +Vim sólo elimina hasta la posición donde la orden de movimiento le lleva. +Eso es porque Vim sabe que probablemente no desea eliminar la primera letra +de una palabra. Si usa la orden «ex para desplazarse hasta el final de una +palabra, Vim adivina que quiere incluir el último carácter: + + Errar es humano. necesitas un ordenador. ~ + -------------> + d2e + + Errar es humano. ordenador. ~ + +El que el carácter bajo el cursor se incluya o no depende de la orden de +movimiento empleado. El manual de referencia llama a esto «exclusivo» cuando +el carácter no se incluye e «inclusivo» en caso contrario. + +La orden «$» le desplaza hasta el final de la línea. La orden «d$» elimina +desde el cursor hasta el final de la línea. Este es un movimiento inclusivo, +por lo que el último carácter de la línea se incluye en la operación: + + Errar es humano. ordenador. ~ + -----------> + d$ + + Errar es humano ~ + +Esto sigue siempre la misma estructura: operador-movimiento. Primero +introduce el operador. Por ejemplo, «d» es el operador de eliminación. Luego +introduce una orden de movimiento «4l» o «w». De esta manera, puede operar +sobre cualquier texto en el que se pueda desplazar. + +============================================================================== +*04.2* Cambiar texto + +Otro operador es «c», cambiar (change). Actúa justo como el operador «d», +excepto que le deja en modo Insertar. Por ejemplo «cw» cambia una palabra. +Es decir, elimina una palabra y le deja en modo Insertar. + + Errar es humano ~ + ---------> + c2wEl ser<Esc> + + El ser humano ~ + +Este «c2wEl ser<Esc>» contiene las siguientes partes: + + c el operador de cambio + 2w moverse dos palabras (se eliminan y va al modo Insertar) + El ser inserta el siguiente texto + <Esc> de vuelta al modo Normal + +Si ha prestado atención, se habrá dado cuenta de que hay algo raro: El +espacio antes de «humano» no se ha eliminado. Hay un dicho: para cada +problema hay una solución que es simple, clara y errónea. Este es el caso +con el ejemplo usado aquí con la orden «cw». El operador «c» funciona justo +como el operador «d», con una excepción: «cw». De hecho, funciona justo +igual que «ce», cambiar hasta el final de la palabra. El espacio después de +la palabra no se incluye. Esta excepción data de Vi. Ya que mucha gente se +ha acostumbrado a ella, ha permanecido con Vim. + + +MÁS CAMBIOS + +Del mismo modo que «dd» elimina una línea completa, «cc» la cambia. Además, +mantiene la sangría (los espacios en blanco precedentes). + +Así como «d$» elimina hasta el final de la línea, «c$» la cambia hasta el +final. Es como pulsar «d$» para eliminar el texto y luego «a» para activar +el modo Insertar y añadir más texto. + + +ACCESOS DIRECTOS + +Algunas órdenes de operación-movimiento se usan tan a menudo que se les ha +asignado una orden de una sola letra: + + x equivale a dl (eliminar carácter bajo el cursor) + X equivale a dh (eliminar carácter a la izquierda del cursor) + D equivale a d$ (eliminar hasta el final de la línea) + C equivale a c$ (cambiar hasta el final de la línea) + s equivale a cl (cambiar un carácter) + S equivale a cc (cambiar una única línea) + + +DÓNDE PONER EL CONTADOR + +Las órdenes «3dw» y «d3wx eliminan tres palabras. Si quiere ponerse +detallista, la primera ordem, «3dw», elimina una palabra tres veces; la +orden «d3w» elimina tres palabras de una vez. Esta diferencia no se puede +distinguir. Sin embargo, puede poner dos multiplicadores. Por ejemplo «3d2w» +elimina dos palabras y lo repite 3 veces, un total de seis palabras. + + +REEMPLAZAR CON UN CARÁCTER + +La orden «r» no es un operador. Espera a que introduzca un carácter, y +reemplazará el carácter bajo el cursor con él. Puedes hacer lo mismo con la +orden «cl» o con «s», pero con «r» no tendrá que pulsar <Esc> + + aquí hay algo tue esná mal ~ + rA rq rt + + Aquí hay algo que está mal ~ + +Usar un multiplicador con «r» causa que se reemplacen muchos caracteres con +el mismo carácter. Por ejemplo: + + Aquí hay algo que está mal ~ + 5rx + + Aquí hay algo que exxxxxal ~ + +Para reemplazar un carácter con un salto de línea use «r<Entrar>». Esto +elimina un carácter e inserta un salto. Usar un multiplicador aquí sólo +afecta al número de caracteres eliminados: «4r<Entrar>» reemplaza cuatro +caracteres con un salto. + +============================================================================== +*04.3* Repetir un cambio + +La orden «.» es uno de los más sencillos pero más potentes de Vim. Repite el +último cambio. Por ejemplo, suponga que está editando un archivo HTML y +desea eliminar todas las etiquetas <B>. Para ello, coloque el cursor sobre +el primer < y luego elimine el <B> con la orden «df>». Entonces va al < del +</B> y lo elimina con la orden «.». La orden «.» ejecuta el último cambio +(en este caso «df>»). Para eliminar otra etiqueta, coloque el cursor sobre +el < y vuelve a pulsar la orden «.». + + Para <B>generar</B> una tabla de <B>contenidos ~ + f< ir al primer < ---> + df> elimina hasta > --> + f< ir al segundo < ----------> + . repetir df> ---> + f< ir al siguiente < ------------------> + . repetir df> --> + +La orden «.» funciona para todos los cambios que haga excepto para la orden +«u» (deshacer), CTRL-R, (rehacer) y todos los que comienzan con «:». + +Otro ejemplo: Desea cambiar la palabra «cuatro» por «cinco». Aparece varias +veces en su texto. Puede hacer esto rápidamente en una secuencia de órdenes: + + /cuatro<Entrar> encuentra la primera cadena «cuatro» + cwcinco<Esc> cambia la palabra a «cinco» + n encuentra la siguiente cadena «cuatro» + . repite el cambio a «cinco» + n encuentra la siguiente cadena «cuatro» + . repite el cambio + etc. + +============================================================================== +*04.4* Modo visual + +Los cambios operador-movimiento funcionan bastante bien para eliminar +elementos sencillos. Pero a menudo, no es fácil decidir que orden de +movimiento le desplazará hasta el texto que quiere modificar. Es el momento +de usar el modo Visual. + +Puede iniciar el modo Visual pulsando «v». Puede mover el cursor sobre el +texto que desea modificar. Mientras haces esto, el texto se resalta. +Finalmente, teclee la orden del operador. + Por ejemplo, para eliminar de la mitad de una palabra a la mitad de otra: + + Esto es una muestra cualquiera del modo Visual ~ + ----------> + veehhd + + Esto es una muestra del modo Visual ~ + +Cuando hace esto, no tiene que contar cuántas veces pulsa «e» o «h» para +llegar a la posición deseada. Puede verlo de forma inmediata antes de pulsar +«d». + +Si en cualquier momento decide que no quiere hacer nada con el texto +resaltado, simplemente pulse <Esc> y el modo Visual parará sin hacer nada. + + +SELECCIONAR LÍNEAS + +Si quiere trabajar con líneas completas, use «V» para iniciar el modo +Visual. Verá que toda la línea se resalta, sin ni siquiera mover el cursor. +Cuando mueva el cursor a la izquierda o derecha, nada cambiará. Si lo mueve +hacia arriba o hacia abajo, la selección se extenderá a líneas completas. + Por ejemplo, seleccione tres líneas con «Vjj»: + + +------------------------+ + | texto más texto | + >> | más texto más texto | | + líneas seleccionadas >> | texto texto texto | | Vjj + >> | texto más | V + | más texto más | + +------------------------+ + + +SELECCIONAR BLOQUES + +Si desea trabajar en un bloque rectangular de caracteres, use CTRL-V para +iniciar el modo Visual. Esto es muy útil si trabaja con tablas. + + nombre Q1 Q2 Q3 + pedro 123 455 234 + juan 0 90 39 + estéban 392 63 334 + +Para eliminar la columna central «Q2» desplaze el cursor a la «Q» de +«Q2». Pulse CTRL-V para iniciar el modo Visual de bloques. Ahora mueva el +cursor tres líneas abajo con «3j» y a la siguiente palabra con «w». Puede +comprobar que el primer carácter de la última columna se ha incluido. Para +excluirlo, use «h». Si ahora pulsa «d» la columna central desaparecerá. + + +IR AL OTRO LADO + +Si ha seleccionado algo de texto en modo Visual, y descubre que necesita +cambiar el otro lado de la selección, use la orden «o» (Truco: o para el +«otro» lado). El cursor irá hasta el otro final de la selección, y podrá +modificar dónde comienza la selección. Pulsa «o» de nuevo para volver al +otro lado. + +Cuando usa el modo Visual de bloques, tiene cuatro esquinas. «o» le llevará +a una de las otras líneas diagonalmente. Use «O» para moverse hacia el otro +final de la misma línea. + +Observe que «o» y «O» en el modo Visual funcionan de forma muy diferente a +cómo lo hacen en el modo Normal, donde abririán una nueva línea. + +============================================================================== +*04.5* Mover texto + +Cuando elimina algo con «d», «x», u otra orden, el texto se guarda. +Puede pegarlo usando la orden «p». (El nombre de Vim para esto es «poner», +del inglés «put»). + Échale un vistazo a cómo funciona esto. Elimine primero una línea +completa poniendo el cursor en la línea y pulsando «dd». Mueva ahora el +cursor allá donde quiera poner la línea y use la orden «p». La línea se +insertará en la línea siguiente a donde se encuentra el cursor. + + una línea una línea una línea + línea 2 dd línea 3 p línea 3 + línea 3 línea 2 + +Ya que eliminó una línea completa, la orden «p» colocó la línea de texto +debajo del cursor. Si elimina parte de una línea (una palabra, por ejemplo), +la orden «px la pone justo después del cursor. + + Más de lo para mismo probar órdenes ~ + ----> + dw + + Más de lo mismo probar órdenes ~ + -----> + whp + + Más de lo mismo para probar órdenes ~ + + +MÁS SOBRE LA ORDEN PONER + +La orden «P» pone una línea como «p», pero antes del cursor. Cuando elimine +una línea con «dd», «P» lo pondrá de vuelta sobre el cursor. Cuando elimine +una palabra con «dw», «P» lo pondrá antes del cursor. + +Puede repetir la orden tantas veces como quiera. Se usará el mismo texto. + +Puede usar un multiplicador con «p» y «P». El texto se repetirá tantas veces +como especifique con el multiplicador. Por ejemplo, usar «dd» y luego «3p» +pone tres copias de la misma línea eliminada. + + +INTERCAMBIAR DOS CARACTERES + +Más de una vez, mientras teclea, sus dedos irán por delante de su cerebro +(¿o al revés?). El resultado es un error del tipo «uqe» en lugar de +«que». Vim hace que corregir estos problemas sea sencillo. Simplemente ponga +el cursor sobre la «u» de «uqe» y ejecute la orden «xp». Esto funciona del +siguiente modo: «x» elimina el carácter «u» y lo coloca en un registro. «p» +pone el texto después del cursor, justo después de la «q». + + uqe qe que ~ + x p + +============================================================================== +*04.6* Copiar texto + +Para copiar texto de un lugar a otro, puede eliminarlo, usar «u» para +deshacer la eliminación y después usar «p» para colocarlo en otro lugar. Hay +un modo mejor: «yank» (dar un tirón). El operador «y» copia texto en un +registro. Puede usar una orden «p» para ponerlo. + «Yanking» es simplemente el nombre de Vim para copiar. La letra «c» ya +estaba en uso por el operador «cambiar», y la «y» estaba aún disponible. +Llamar a este el operador «yank» hizo que fuera más fácil recordar la «y». + +Ya que «y» es un operador, se usa «yw» para copiar una palabra. Se puede +usar un multiplicador. Para copiar dos palabras usa «y2w». Por ejemplo: + + let sqr = LongVariable * ~ + --------------> + y2w + + let sqr = LongVariable * ~ + p + + let sqr = LongVariable * LongVariable ~ + +Observe que «yw» incluye el espacio en blanco después de la palabra. Si no +quiere que esto ocurra, us «ye». + +La orden «yy» copia una sola línea, al igual que «dd» la elimina. Sin +embargo, mientras que «D» elimina desde el cursor hasta el final de la +línea, «Y» funciona como «yy», copiando la línea completa. ¡Cuidado con esta +inconsistencia! Use «y$» para copiar sólo hasta el final. + + línea de texto yy línea de texto línea de texto + línea 2 línea 2 p línea 2 + última línea última línea línea de texto + última línea + +============================================================================== +*04.7* Uso del portapapeles + +Si está usando la versión GUI de Vim (gvim), puede usar la opción «Copiar» +del menú «Edit». Seleccione primero el texto en modo Visual, use después el +menú Editar/Copiar. Así, el texto seleccionado se copia al portapapeles. +Ahora puede pegarlo en otros programas o en el propio Vim. + +Si ha copiado texto en el portapapeles desde otra aplicación, puede pegarlo +en Vim con el menú Editar/Pegar. Esto funciona en modo Normal y en modo +Insertar. En modo Visual el texto seleccionado es reemplazado. + +La opción «Cortar» del menú elimina el texto antes de ponerlo en el +portapapeles. Las opciones «Cortar», «Copiar» y «Pegar» están también +disponibles en el menú popup (sólo cuando esté disponible). Si su Vim tiene +barra de tareas, puede encontrar estos botones allí también. + +Si no usa la GUI o no te gusta usar el menú, tiene otro modo. Use la orden +«y» normal (copiar) y «p» (poner), pero antes escriba «"*» (comillas dobles, +asterisco). Para copiar una línea en el portapapeles: > + + "*yy + +Para poner texto desde el portapapeles en el texto: > + + "*p + +Esto sólo funciona en versiones de Vim que incluyen soporte para +portapapeles. Más sobre el portapapeles en la sección |09.3| y aquí: +|clipboard|. + +============================================================================== +*04.8* Objetos de texto + +Si el cursor está en medio de una palabra y la quiere eliminar, tiene que +desplazarse hasta su comienzo antes de que pueda hacer «dw». Hay un modo más +sencillo de hacer esto: «daw». + + esto es texto de ejemplo. ~ + daw + + esto es de ejemplo. ~ + +La «d» de «daw» es el operador de eliminación. «aw» es el objeto de texto. +Truco: «aw» viene de «A Word». Por lo que «daw» es «Delete A Word». Para ser +más precisos, el espacio después de la palabra se elimina también (el +espacio antes de la palabra si ésta se encuentra al final de una línea). + +Usar objetos de texto es la tercera manera de hacer cambios en Vim: +el operador-movimiento, el modo Visual, y ahora el operador-objeto de texto. + Es muy similar al operador-movimiento, pero en lugar de operar en el texto +entre la posición inicial y final del cursor, el objeto de texto se emplea en +su totalidad. No importa en que lugar del objeto se encontraba el cursor +antes de la orden. + +Para cambiar una oración completa use «cis». Suponga este texto: + + ¿Qué tal? Esto ~ + es un ejemplo. Algo ~ + de texto. ~ + +Vaya al comienzo de la segunda línea, sobre el «es un». Ahora, use «cis»: + + ¿Qué tal? Algo ~ + de texto. ~ + +El cursor está entre los espacios de la primera línea. Escriba ahora la +nueva frase «Otra línea.»: + + ¿Qué tal? Otra línea. Algo ~ + de texto. ~ + +«cis» consiste del operador «c» (cambiar) y el objeto de texto «is». Esto +viene de «Inner Sentence». También hay un objeto «as» (a sentence). La +diferencia es que «as» incluye el espacio en blanco después de la frase e +«is» no. Si desea eliminar la frase y quiere eliminar al mismo tiempo el +espacio en blanco posterior, use entonces «das». Si quiere escribir otro +texto, el espacio puede permanecer, con lo que puedes usar «cis». + +También puede usar los objetos de texto on modo Visual. Incluirá el objeto +de texto en la selección. El modo Visual permanece, así que puede hacerlo +varias veces. Por ejemplo, inicie el modo Visual con «v» y seleccione una +frase con «as». Ahora puede repetir «as» para incluir más frases. Por +último, use un operador para hacer algo con las frases seleccionadas. + +Puede encontrar una larga lista de objetos de texto aquí: |text-objects|. + +============================================================================== +*04.9* Modo reemplazar + +La orden «R» hace que Vim entre en modo reemplazar. En este modo, cada +carácter que introduzca reemplaza al que está debajo del cursor. Esto +continúa hasta que pulse <Esc>. + En este ejemplo, Ud. comienza el modo Reemplazar en la primera «t» de «texto»: + + Esto es texto. ~ + Rinteresante.<Esc> + + Esto es interesante. ~ + +Puede que haya notado que ha reemplazado 5 caracteres en la línea con otros +doce. La orden «R» extiende automáticamente la línea si se queda sin +caracteres que reemplazar. Esto no ocurrirá en la siguiente línea. + +Puede alternar el modo Insertar y Reemplazar con la tecla <Insert>. + +Cuando use <Retroceso> para hacer una corrección comprobará que el texto +anterior reaparece. Por lo tanto, funciona como la orden deshacer para el +último carácter tecleado. + +============================================================================== +*04.10* Conclusión + +Los operadores, órdenes de movimiento y los objetos de texto le dan +múltiples posibilidades para hacer muchas combinaciones. Ahora que sabe +cómo funciona, puede usar N operadores con M órdenes de movimiento para +hacer M * N órdenes! + +Puede usar la lista completa de operadores aquí: |operator| + +Por ejemplo, hay otras muchas maneras de eliminar porciones de texto. Aquí +tiene algunas de las más empleadas: + +x elimina el carácter bajo el cursor (abreviado de "dl") +X elimina el carácter antes del cursor (abreviado de "dh") +D elimina desde el cursor hasta el final de línea (abreviado de "d$") +dw elimina desde el cursor hasta el próximo comienzo de palabra +db elimina desde el cursor hasta el anterior comienzo de palabra +diw elimina la palabra bajo el cursor (excluyendo el espacio en blanco) +daw elimina la palabra bajo el cursor (incluyendo el espacio en blanco) +dG elimina hasta el final del archivo +dgg elimina hasta el final del archivo + +Si usa «c» en lugar de «d»,estos se convierten en órdenes de cambio. Y con +«y» copias el texto. Y así en adelante. + + +Hay algunas otras órdenes que no encajan en ningún otro lugar, por lo tanto +se explican a continuación: + + ~ cambia el carácter bajo el cursor de minúsculas a mayúsculas y + al revés, moviéndose al siguiente carácter. No es un operador + (a menos que 'tildeop' esté activado), por lo que no lo puede + usar con un movimiento. Sí funciona en modo Visual y cambia + todo lo que está seleccionado. + + I Inicia el modo insertar y desplaza el cursor al primer + carácter no vacío de la línea. + + A Inicia el modo insertar y desplaza el cursor al último + carácter de la línea. + +============================================================================== + +Capítulo siguiente: |usr_05.esx| Configuración + +Copyright: véase |manual-copyright| vim:tw=78:ts=8:ft=help:norl: + +============================================================================== + +Traducción del capítulo: Álvaro Castro Castillo + +Proyecto: |vim-doc-es| + |