next up previous contents
Siguiente: Seleccionar texto en Vim: Subir: Indicación del ámbito en Anterior: Indicación del ámbito en   Índice General


Objetos de texto

Vim reconoce ciertos objetos de texto estándar: palabras, frases, párrafos y bloques. Para ello lo que hace es usar delimitadores, es decir: de todos los caracteres posibles en un texto, Vim sabe que, por ejemplo, una palabra es una porción de texto compuesta por letras encerrada entre caracteres que no son letras; las ``no-letras'' actúan como delimitadores de las palabras. Un párrafo se considera que está delimitado por una línea en blanco, un bloque es el texto encerrado entre llaves o paréntesis, etc.

Para cada objeto se usa una letra identificativa del mismo. Así:

w
Para palabras, es decir: letras delimitadas por ``no letras'' (w $=$ words).

s
Para frases, es decir: palabras delimitadas por puntos (s $=$ sentences).

p
Para párrafos: líneas con texto delimitadas por líneas totalmente en blanco (p $=$ paragraph).

b
Para paréntesis: texto encerrado entre paréntesis (b $=$ blocks).

B
Para llaves: Texto encerrado entre llaves.

A cada objeto, además, nos podemos referir incluyendo los delimitadores o excluyéndolos. En el primer caso usaremos una ``a'' antes del objeto, y así 0 0«aw0 0» significa una palabra desde su principio hasta el carácter inmediatamente anterior a la próxima palabra. Para indicar solo el objeto, excluidos los delimitadores, se usa la ``i'', y así 0 0«iw0 0» significa una palabra, pero solo ella, sin los espacios en blanco que la rodeen. La letra ``a'' es el artículo indefinido inglés, y la letra ``i'' es la inicial de ``inner'', por lo tanto 0 0«ap0 0» se traduce por ``un párrafo'', 0 0«ip0 0» por ``dentro de un párrafo'' o ``el contenido de un párrafo''.

Ahora bien: lo que acabo de explicar no es exactamente así salvo en el caso de los paréntesis y las llaves. Ahí está claro que la diferencia entre 0 0«ab0 0» e 0 0«ib0 0» está en incluir o no a los delimitadores. En los demás casos ``a'' incluye sólo a algunos delimitadores:

Teniendo pues claro lo que significan ``a'' e ``i'', resulta que los objetos de texto posibles son los siguientes diez objetos:

En consecuencia tras teclear cualquiera de los comandos con ámbito podremos escribir el nombre de uno de estos objetos para que el comando se le aplique. Y así, si el comando ``d'' es el de borrar, 0 0«daw0 0» borrará una palabra con su espacio en blanco, mientras que 0 0«diB0 0» borrará el contenido de los paréntesis dentro de los cuales esté el cursor, pero dejando los paréntesis propiamente dichos.

Asimismo se puede usar un prefijo numérico para el objeto de texto, y así 0 0«d4ap0 0» borrará cuatro párrafos completos, empezando por aquel donde se encuentre el cursor.


next up previous contents
Siguiente: Seleccionar texto en Vim: Subir: Indicación del ámbito en Anterior: Indicación del ámbito en   Índice General
Cancerbero 2005-02-12