Está en la página 1de 5

Captulo 7

Editor vi y vim
El editor vi es un estndar de UNIX, el vi se basa en ordenes, al contrario que la mayora de los
otros editores. El editor vim incorpora el manejo del mouse, sintaxis. El nombre Vim es una
contraccin de <Vi iMproved>, se podra traducir como vi mejorado. Estos editores son
extremadamente eficientes y posibilita el mximo rendimiento con el mnimo esfuerzo. Lleva cierto
tiempo aprender las funcionalidades del editor, pero una vez que uno aprendi veremos todo el
potencial que tiene.
Tambin tenemos el paquete vim-gnome que es el vim pero para entorno llamado gvim.
Tenemos un archivo de configuracin general dentro de /etc/vim/vimrc
Hay que distinguir entre dos modos :
* Modo insercin : cualquier cosa que tecleemos aparecer en pantalla y se grabar en el
fichero si finalmente salvamos los cambios. Para salir de este modo y volver al modo
rdenes, tenemos que pulsar la tecla ESC. Esta tecla cancela las acciones a medidas que
tengamos. Es una buena costumbre pulsar ESC siempre justo despus de aadir cualquier
texto
* Modo rdenes : el vi estar esperando a que tecleemos rdenes, para interpretarlas y
actuar en consecuencia.
Comenzando
# vim [opciones] [ficheros]
Opciones :
-x
-n
+/BUSCAR

Permite encriptar un archivo :


Va a la n linea.
Editar el archivo ubicndose donde encuentre en la primer linea
BUSCAR

# vim -x mi_archivo.txt
# vi mi_archivo.txt
* Si no se indica ningn archivo, vi o vim empezar con un buffer vaco.
* Si se indica un solo fichero , vi o vim lo leer y lo cargar en un buffer que ser el que
muestre su pantalla al iniciarse.
* Si se indican varios ficheros, hay que separarlos por espacios en blanco. Vim asignar un
buffer distinto a cada uno de ellos y al empezar mostrar en pantalla el buffer
correspondiente al primer fichero. Para navegar entre los buffers hay que usar el comando
:next y :prev

Si nosotros solamente escribimos vim nos mostrara una introduccin, si nosotros especificamos un
archivo por ejemplo : vim mi_archivo no nos aparece mas la introduccin, para ver nuevamente la
introduccin pones :intro
Movimiento del cursor
k
j
h
l
0
$
w
b
e
H
L
ctrl+u
ctrl+d
ctrl+b
ctrl+f
nG
1G
$G
fc
Fc

Arriba.
Abajo.
Derecha.
Izquierda.
Inicio de lnea.
Va al final de la lnea.
Avanza por palabra (word).
Retrocede por palabra (back).
Final de la palabra (end).
Esquina sup. izq. de la ventana (Home).
Esquina inf. izq. de la ventana (Last).
Subir ventana (Window up).
Bajar ventana (Window down).
Retroceder pgina (Page back).
Avanzar pgina (Page forward).
Salta a la lnea n (Go).
Va a la primera lnea.
Va a la ltima lnea.
Buscar en la lnea el carcter c (hacia delante).
Buscar en la lnea el carcter c (hacia atrs).
Insertar texto

i
I
a
A
o
O

Insertar (delante del cursor).


Insertar al principio de la lnea.
Aadir (detrs del cursor).
Aadir al final de la lnea.
Insertar una lnea debajo de la actual.
Insertar una lnea encima de la actual.
Borrar texto

x
X
dd
D
dw

Borrar carcter actual.


Borrar carcter anterior.
Borrar lnea actual.
Borrar hasta final de lnea.
Borrar palabra.
Cambiar carcter

rcar
R
s
S
C

Reemplazar el carcter actual por car.


Reemplazar texto desde la posicin del cursor.
Substituir el carcter actual por texto a insertar.
Substituir la lnea actual.
Cambiar hasta el final de la lnea.

cw
J

Cambiar palabra.
Unir a la lnea actual la siguiente.
Copiar y pegar

yy
nyy
p
P

Copiar en el buffer la lnea actual.


Copiar en el buffer n lneas desde la actual.
Pega el buffer detrs del cursor.
Pega el buffer delante del cursor.
Buscar y sustituir

%
/ExpReg
?ExpReg
n
N
:s/txt/txt2
:s/txt/txt2/g
:m,n s/txt/txt2/g

Busca el caracter delimitador ( ) [ ] { } que balancea el actual


(Dentro de un entorno salta al delimitador inicial).
Busca hacia delante la expresin regular ExpReg.
Busca hacia atrs la expresin regular ExpReg.
Repite la ltima bsqueda.
Repite la ltima bsqueda en el sentido contrario.
Substituye el texto txt por txt2 la primera vez que aparece en la
lnea.
Substituye todas las apariciones de txt por txt2 en la lnea.
Substituye en el rango de lneas [m,n].
Repetir y deshacer

.
u
U

Repetir ltimo comando de actualizacin


(Borrado/Insercin/Cambio).
Deshacer ltimo comando de actualizacin.
Deshacer todos los cambios en la lnea actual.
Comandos de Shell

:sh
:!CmdShell
:r!CmdShell
:!!

Invoca un nuevo shell. Al salir continua la edicin.


Ejecuta un comando del sistema operativo.
Ejecuta un comando del S.O. e inserta su salida en la posicin
del cursor.
Ejecuta el ultimo comando.
Operaciones con archivos

:w
:q
:q!
:wq
:x
ZZ

Graba las modificaciones efectuadas en el archivo.


Salir (si no hay cambios).
Salir (sin grabar si hay cambios).
Guardar cambios y salir.
Guardar cambios y salir.
Guardar cambios y salir.
Estadsticas de archivos

:=
:.=
ctrl+G

Muestra el nmero total de lneas del archivo.


Muestra el nmero de lnea actual.
Muestra el nombre del archivo, lnea actual, nmero total de

lneas y porcentaje recorrido del archivo.


Opciones de entorno
:set opcin
:set noopcin
:Texplore
:set ic o :set
ignorecase
:set noic o :set
noignorecase
:set mouse=a
:set number o
:set num
:set ai
:set hlsearch
:set nohlsearch

Activa la opcin de vi correspondiente.


Desactiva la opcin de vi correspondiente.
Abre un explorador para moverse en los directorios y abrir un
archivo en una nueva columna.
Ignore Case (ignora entre mayscula y minsculas en las
bsqueda).
Realiza lo contrario, diferencia entre minsculas y maysculas.
Habilita el mouse para todas las tareas.
Muestra el nmero de linea.
Pinta todas las conicidencia que buscamos.
Lo contrario.
Opciones de entorno opcin :

all
number
list
ic

Muestra todas las opciones y sus valores.


Muestra numeracin de lneas.
Muestra caracteres de control.
Ignora maysculas/minsculas en las bsqueda.

Para utilizar las sintaxis tenemos que instalar el siguiente paquete :


# apt-get install vim-puppet
Y para utilizarlo :syntax on
En el home del usuario tenemos nuestra propia configuracin de vim llamado .vimrc
# vi .vimrc
syntax on
set tabstop=3
set textwidth=98
set hlsearch
set shiftwidth=4 softtabstop=4
set expandtab
map <F3> :call CompileGcc()<CR>
func! CompileGcc()
exec "w"
exec "!gcc % -o %<"
endfunc
Tambin como vimos en el ejemplo anterior podemos mapear teclas.

Para abrir una nueva pestaa o solapa deberemos usar el siguiente comando
:tabnew [archivo]
esto creara la pestaa y el contenido del archivo definido [archivo] en ella.
Para abrir mltiples pestaas con mltiples archivos al iniciar el editor de textos emplearemos el
comando
# vim -p archivo1 archivo2 archivo3
Esto abrir el archivo 1 en la primera pestaa, el archivo 2 en la segunda y as sucesivamente, por
defecto Vim soporta hasta 10 pestaas en simultaneo, pero esto lo podremos modificar editando el
archivo
.vimrc
que esta en nuestro directorio principal y agregando la siguiente entrada
set tabpagemax=[valor]
donde en valor colocaremos la cantidad se pestaas que queremos que tenga como mximo. Para
movernos entre pestaas utilizaremos los comandos
:tabn y :tabp
Con el primero avanzaremos hacia la siguiente pestaa y con la siguiente retrocederemos pestaas,
de todas formas podremos elegir mediante un Click del Mouse al igual que lo hacemos en el
Firefox.

También podría gustarte