Archivos en la Categoría: Editores de Texto

Algunas Características del Editor Vim

Las siguientes instrucciones sirven para personalizar Vim y hacer un mejor uso de las posibilidades que ofrece. Muchas de las opciones que se describen a continuación son “sets”, para ver una lista completa de todas las opciones, basta teclear “:set all” en Vim.

Cambiar el fondo. Con las instrucciones

 :set background=dark

y

 :set background=light

se establecen fondos oscuros y claros.

Syntax on y colorscheme. Vim puede reconocer la sintaxis del lenguaje en que se escribe. Si no está por default, es posible establecerlo con la instrucción “:syntax on”, o con “syntax enable”, si queremos que se deje de resaltar la sintaxis entonces escribimos “:syntax off”. La forma en la que se colorean las palabras reservadas del lenguaje y en general todo el ambiente dependen del colorscheme. Cómo establecer estos comandos se explica un poco mejor en la entrada Syntax on y colorscheme en el editor Vim.

Resaltar línea actual. Con la instrucción “:set cursorline” se subraya la linea actual.

Resaltar columna actual. Con la instrucción “:set cursorcolumn” se resalta la columna actual.

Numerar lineas. La instrucción “:set number” numera las lineas. La instrucción “:set nonumber” elimina la numeración.

Cambiar el color de la columna de números. El color de los números en la columna de numeración no cambia con el colorscheme. Para cambiarla basta con escribir “:hi LineNr ctermfg=red” y el color de los números será rojo. red se puede cambiar por cualquier color: yellow, blue, cyan, brown, black, grey. green. También se pueden matizar con darkred, o lightred. Desde luego hay que sustituir red por el color de nuestra preferencia, aunque algunos no aceptan la opción.

Cambiar el fondo de la columna de números. Muy relacionado con la anterior, esta opción permite cambiar el color de fondo de la columna de numeración, que por defecto toma el de la consola. Hay que usar el comando “:hi LineNr ctermbg=red” y se establecerá en rojo. Claro que, como en el anterior, se puede cambiar red por el color que más nos guste.

Cambiar el ancho de la columna de números: Con “:set nuw=5” se establece el ancho de la columna de numeración en 5 espacios. Se puede sustituir 5 por el número deseado.

Abreviaturas. Con “:ab mn Mi Nombre”, cada vez que se teclee en el editor mn se desplegará la cadena Mi Nombre. Con “:ab m” se despliegan todas la abreviaturas que empiezan con m. Para ver todas la abreviaturas use “:ab”

Sangrado Automático. La instrucción “:set autoindent”, o “:set ai”, se produce el sangrado automático. La instrucción “:set noautoindent”, o “:set noai” lo elimina.

Editar en varias ventanas: Vim permite la edición de dos o más archivos en la misma pantalla. Para dividir la ventana horizontalmente sólo hay que escribir “:split Nombre_Archivo”. Para una división vertical el comando es “:vsplit Nombre_Archivo”. Es posible copiar y pegar de un archivo a otro. Para moverse entre los ficheros hay que usar Ctrl + W + flecha de dirección del teclado numérico.

Editar archivo en una línea específica: Este es muy bueno a la hora de programar, ya que el compilador indica siempre en qué linea exacta ha ocurrido el error. Para ir directo a él (supongamos que fue en la linea 125) sólo escribimos “:vim +125 Archivo_a_Editar” y nos manda el cursor directamente a la linea requerida.

Eliminar la campana de error. Es frecuente que cada que se da un esc en modo de edición, la campana suene indicando error. Si llega a ser molesto, se puede evitar con “:set noerrorbells”

Resaltar la palabra buscada. Cuando se busca una cadena, es posible resaltarla con un color distinto al fondo. Esta opción muy útil se logra con “:set hlsearch”.

Guardar copia de seguridad. Con “:set backup” se guarda una copia de el archivo que estamos editanto. Para eliminarlo, y si te desagradan los archivos que terminan con ~, basta teclear “:set nobackup”.

Exportar como html. Basta usar “:TOhtml”, y el nombre del archivo por defecto es NombreActual.html La opción es útil, pero en particular no me gustan las fuentes que quedan establecidas. Los programas de este blog son exportados como html desde Kate, y me parece mucho mejor.

Regresar al estado del archivo hace 5 minutos. Con la instrucción “:earlier 5m” se muestra el archivo tal como era hace 5 minutos. Desde luego se puede cambiar 5 por la cantidad de minutos que se desee. En caso de no haber cambios Vim avisa: “Este es el cambio más antiguo” Para “volver al futuro” basta con teclear “:later 5m”. En caso de exceder el tiempo de retraso, se avisa: “Este es el cambio más nuevo”.

Colores en Vim

Esta entrada fue publicada originalmente en Ejercicios Resueltos, pero creo que no está fuera de lugar reproducirla aquí. Se puede visitar esa página para ver imágenes de un mismo archivo con diferentes colorscheme.
Esta es una pequeña receta para poner colores y resaltar la sintaxis en el editor Vim.
Una vez instalado el editor, es necesario entrar como root en nuestra cuenta de usuario y crear el directorio /.vim

# mkdir ~/.vim
# mkdir ~/.vim/colors

Una vez creados estos directorios es necesario elegir un Color Scheme agradable del sitio oficial de vim A mi me gustó el oceandeep. Se descarga el archivo y se copia en el directorio /.vim/colors que acabamos de crear. Es posible instalar más de uno y para elegirlo solo entramos a vim y tecleamos esc : colorscheme oceandeep, o cualquiera que se elija. Puede ser que ya exista el directorio /colors, en linux se puede encontrar en /usr/share/vim/colors. o en /usr/share/vim/vim73/colors

Después es necesario crear el archivo .vimrc:

# vi .vimrc

y añadir las líneas

syntax on
colorscheme oceandeep

lo cual hace que oceandeep quede como colorscheme por default. También es posible que ya exista el archivo .vimrc, en cuyo caso sólo hay que añadir esas lineas.

Manual de ed

El editor ed debe ser el editor menos popular del mundo. A diferencia de los editores visuales que presentan una pantalla completa para editar, ed sólo presenta una línea. Por esto precisamente se le llama editor de línea, en oposición a los editores de pantalla, que son (todos) los otros. Es un sobreviviente del sistema operativo Unix y es de alguna manera el abuelito de Vi. Fue creado por Ken Thompson. Y como quiera que sea este es el editor que se encuentra, al menos en mi experiencia, en todos los Unix por default, así que no está de más aprender los rudimentos aunque sólo sea como cultura general.
Del editor hay que decir que para acceder a él basta con teclear en la consola las letras ed

$ ed

y que tiene un par de modos, el modo de inserción o captura y el modo comandos o edición. Para pasar del modo edición, al que se entra por defecto, al modo inserción se debe teclear ‘a’ sin las comillas ( o alguna de las opciones descritas un poco más abajo ) con lo cual se puede introducir el archivo en sí. Estando en el modo de captura se puede pasar al modo comandos por medio de escribir un punto (.) y enter.
Una vez que conocemos esto, revisemos los comandos.

Colocar el promt

Nada nos avisa que hemos entrado a ed. Simplemente se ve una línea con el cursor a la izquierda. Esta, como todas las características de ed, es una ventaja en ciertos casos pero puede ser incómodo en otras, así que existe un par de opciones:

$ ed -p Elisa

Transforma el prompt en

Elisa

Esto es, la opción ‘-p cadena’ usada desde la consola al invocar el editor, establece ‘cadena’ como el prompt de ed. Para suprimirlo, basta con teclear P en modo edición.

P Teclear la letra P (p mayúsucla) en modo comando en ed, nos ayuda a ver el promp por defecto (un * aparece al principio de cada línea). Se puede quitar el promt tecleando nuevamente P.

Añadir texto:

a Append. Lo que hace este comando es colocarnos en modo escritura y agregar los caracteres tecleados a continuación al archivo. Si el archivo existe, con ‘a’ se agrega el texto después de la última línea.

i Insert. Este comando sirve, como el anterior, para insertar texto. En este caso se hace antes de la línea actual, siendo la línea actual por defecto la última.

Copiar lineas:

y Copia la línea actual.
(1, $)y Copia las lineas de la primera a la última.

Borrar líneas
d Borra una línea ( por default la línea actual)
(2, 5)d Borra las líneas de la 2 a la 5.
(1, $)d Borra las líneas desde la primera hasta la última.
2d Borra la segunda línea.

. Muestra la línea actual

3 Muestra la tercera línea. Desde luego, se puede cambiar 3 por cualquier número.

$ Muestra la última línea.

Deshacer cambios

u El comando u deshace el último cambio.

Acceso a la consola.

! Es posible usar usar la consola y cualquiera de sus comandos desde ed con sólo anteponer el signo ! a la orden. Por ejemplo
! ls
Muestra el contenido del directorio actual.