Los tipos de dato escalares incluyen los números enteros y de punto flotante, así como las cadenas de caracteres.
Los números enteros pueden representarse en base binaria, octal, decimal, y hexadecimal. Para escribir un número en base diez, no es necesario hacer nada especial, bastará con asignar el valor; los enteros en base hexadecimal son identificados por los prefijos 0x
y 0X
y sus dígitos pueden ser los caracteres [0-9a-fA-F]
; los enteros en base binaria se escriben uno de los prefijos 0b
o 0B
seguidos de una secuencia de ceros y unos; finalmente los números en base octal inician simplemente con 0
y solo admiten símbolos entre cero y siete. Aquí tienes algunos ejemplos:
Base | Ejemplos |
---|---|
Binaria | 0b10 , 0B1010 |
Octal | 010 , 0755 |
Decimal | -273 , 2017 |
Hexadecimal | 0x10 , 0XFF |
Los números de punto flotante siguen una sintaxis bastante estándar que incluye signo, punto decimal y exponente: 3.141593
, 6.022e23
, -1.1e-11
.
Las cadenas de caracteres son secuencias de bytes sin signo encerrados entre comillas. Al igual que en otros lenguajes, las comillas simples se utilizan para expresar cadenas literales, mientras que en las cadenas encerradas entre comillas dobles, se pueden introducir caracteres especiales utilizando el símbolo diagonal invertida (\
). En la siguiente tabla te muestro algunos de los símbolos que puedes insertar:
Secuencia de escape | Símbolo |
---|---|
\b |
Retroceso |
\n |
Nueva línea |
\t |
Tabulador |
\\ |
Diagonal invertida |
\" |
Comillas dobles |
Además de este tipo de caracteres, algunos símbolos especiales tienen un nombre, usualmente expresado entre paréntesis angulares <
y >
, por ejemplo, el nombre del símbolo retorno de carro es CR y dentro de una cadena se expresa así: "\<CR>"
. Aquí, diagonal invertida solamente se escribe antes del símbolo menor que puesto la secuencia <CR>
representa un solo caracter. Esta notación es muy útil por que nos permite expresar teclas especiales y combinaciones de estas de tal forma que podamos definir macros en nuestros scripts.
Para ilustrar la idea anterior, considera el siguiente script:
set number " Muestra el número de línea set textwidth=80 " Los renglones serán de 80 columnas runtime macros/justify.vim " Proporciona el comando :Justify let @j = "gqipvipk:Justify\<CR>" " Macro para dar formato a párrafos.
Observa lo que se guarda en el registro j
: un texto que el editor puede interpretar como una macro, que transforma una línea en todo un párrafo con alineación justificada. Nota que el símbolo <CR>
al final de la cadena se usa para simular que pulsas la tecla enter al ejecutar la macro:
Otra forma de insertar caracteres especiales es utilizando la notación \uABCD
, que permite expresar caracteres unicode en formato hexadecimal. Por ejemplo, si configuras el valor de la opción 'listchars'
:
let &listchars = "\tab:\u25b8\ ,trail:\u2620" set list
Tus archivos podrán verse así:
Hay otras formas de representar caracteres especiales, pero creo que ya quedó bien ilustrado el concepto. Espero que esta nota te sirva para automatizar pequeñas tareas que consideres tanto comunes como repetitivas. Si quieres más detalles, te sugiero que consultes la página :help expr-string
del manual de Vim.
En la siguiente entrega de esta serie te mostraré cómo es que Vim maneja tipos de dato más complejos ¡Hasta entonces!