Vous êtes sur la page 1sur 26

Introduccin al editor vi

Roberto Gmez Crdenas rogomez@itesm.mx


http://webdia.cem.itesm.mx/ac/rogomez

Lmina 1

Roberto Gmez C.

Caractersticas generales
vi es el editor de textos garantizado en todos los equipos con GNU/Linux y UNIX Es rapido y por eso es indicado para la edicion remota de archivos ya que el contenido que hay que pasar por la conexin es mnimo. Desarrollado en la universidad de California, Berkeley Proviene de editor ed
que despus evoluciona a ex

Muy usado para archivos de configuracin


Expresiones regulares le proporcionan mucha fuerza

Existen versiones de ventana


Lmina 2 Roberto Gmez C.

Una vista de vi

Lmina 3

Roberto Gmez C.

Modos de operacin
Modo comando
modo por default
$ vi toto
Modo comando
i a o : / ? Return Escape

Modo edicin
i (insert) o (open) a (append)

Modo ltima lnea

Modo edicin

Modo ltima lnea


teclear :

Lmina 4

Roberto Gmez C.

Invocando editor vi
Formato comando
vi option(s) filename view filename
editor vi es sensible a maysculas

Comandos de entrada
Comando Significado

a A i I o O
Lmina 5

aade texto despus cursor aade texto al final de la lnea inserta texto antes del cursor inserta texto al principio de la lnea abre una nueva lnea debajo del cursor abre una nueva lnea arriba del cursor
Roberto Gmez C.

Comandos posicionamiento (1)


Comando
h, , backspace
j o
k o

Significado

l, , Spacebar

se mueve un carcter a la izquierda se mueve una lnea abajo se mueve un carcter a la derecha se mueve una lnea arriba se mueve una palabra hacia adelante se mueve una palabra hacia atrs se mueve al final de la palabra actual se mueve al final de la lnea se mueve al principio de la lnea se mueve al primer carcter no-espacio de la lnea
Roberto Gmez C.

w b e $ 0 (zero) ^
Lmina 6

Comandos posicionamiento (2)


Comando Significado

Return Control-F Control-D Control-B Control-U Control-L

se mueve hacia abajo al principio de la prxima lnea se mueve una pantalla hacia adelante se mueve media pantalla abajo se mueve una pantalla hacia atrs se mueve media pantalla arriba refresca la pantalla

Lmina 7

Roberto Gmez C.

Comandos borrado texto

Comando

Significado

x dw dd D :5,10d

borra carcter en el cursor borra una palabra ( o parte palabra) derecha cursor borra la lnea conteniendo el cursor borra la lnea a la derecha del cursor (de la posicin del cursor al final de la lnea) borra la lneas 5 a 10

Lmina 8

Roberto Gmez C.

Deshacer, repetir y cambiar texto


Comando Significado

cw R C s r J xp ~ u U :r filename
Lmina 9

cambia una palabra (o parte de la palabra) sobreescribe o reemplaza caracteres en la lnea cambia del cursor al final de la lnea substituye strings de caracteres reemplaza el carcter en el cursor con otro carcter une lnea actual con la de abajo transpone carcter cursor con el de la derecha cambia minsculas a maysculas y vicevers deshace el comando previo deshace cambios en la ltima lnea inserta (lee) el archivo en la lnea despus cursor
Roberto Gmez C.

Comandos busqueda/reemplazo

Comando

Significado

/string ?string n N

bsqueda hacia delante del string bsqueda hacia atrs del string encuentra la siguiente ocurrencia del string encuentra la ocurrencia previa del string

%s/old/new/g busca y reemplaza globalmente

Lmina 10

Roberto Gmez C.

Comandos copiado/pegado

Comando

Significado

yy p P :1,3 co 5 :4,6 m 8

yanks una lnea de copia pone texto yanked o borrado pone texto yanked copia lneas 1 a 3 y pone mueve lneas

Lmina 11

Roberto Gmez C.

Guardando y abortando archivos


Comando Significado

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

solo almacena los cambios escribe contenido buffer en archivo new almacena los cambios y aborta vi almacena los cambios y aborta vi almacena los cambios y aborta vi aborta vi sin guardar los cambios guarda los cambios y aborta vi (! sobreescribe los permisos de solo lectura solo para el propietario del archivo)

Lmina 12

Roberto Gmez C.

Configurando editor vi
Editor vi incluye opciones para configurar sesiones de edicin, como:
desplegar nmeros de lneas desplegar caracteres invisibles

Usar comando set en modo comando para controlar estas opciones. Posible almacenar las opciones en un archivo en el directorio hogar dentro del archivo .exrc
opciones de configuracin son escritas en un archivo, sin punto y coma, un comando por lnea una vez que el archivo es creado, este es ledo cada vez que se abre una sesin vi
Lmina 13 Roberto Gmez C.

Comandos sesin
Comando :set nu :set nonu :set ic :set noic :set list :set nolist :set showmode :set :set all Significado muestra los nmeros de lnea esconde los nmeros de lnea indica a las bsquedas ignorar maysculas indica bsquedas que sean sensibles a maysculas despliega caracteres invisibles, tales como tabs o fin-lnea apaga la opcin de despliegue de caracteres invisibles despliega el modo actual de operacin despliega todas las variables activadas por vi despliega todas las posibles variables de vi y sus valores actuales
Roberto Gmez C.

:set noshowmode apaga el modo de despliegue

Lmina 14

Otras opciones configuracin


Comandos de posicionamiento
Comando Significado

G 1G :21 21G

desplaza cursor a la ltima lnea del archivo desplaza cursor a la primera lnea del archivo desplaza cursor a la lnea 21 desplaza cursor a la lnea 21

Comandos de refresco
Comando Significado

Ctrl-L

refresca la pantalla

Lmina 15

Roberto Gmez C.

Ejemplo de uso
int fonction(int truc, int chose, int *machin) { /* la definition de la fonction */ *machin= truc*chose 2; } main ( ) { int n, m; fonction (10, &n, 15); printf (%d n, n); fonction (30, &n, 13); printf (%d n, n); fonction (3, &n, 13); printf (%d n, n); fonction (2, &n, 1); printf (%d n, n); fonction (4, &n, 12); printf (%d n, n); }
Lmina 16 Roberto Gmez C.

Continuacin del ejemplo


: .$s/fonction ( [, ]* ) , </ fonction( 3, 2, 1) /g

La regla de substitucin esta compuesta de la siguiente forma:


: comienza el comando . designa la lnea actual $ designa el fin del texto s/sdfgfd/sfgsfdg/g significa substitucin del primer termino por el segundo en todo el archivo (debido a la g)

Lmina 17

Roberto Gmez C.

Otros editores
al gusto del cliente ...

Lmina 18

Roberto Gmez C.

El editor EMACS
Editor de pantalla extensible, personalizable, autodocumentado y todo eso en tiempo real. Permite el control de subprocesos, la autoindentacion de programas y la posibilidad de editar varios archivos a la vez entre otras. Los comandos de emacs pueden ser personalizados y nuevos comandos pueden ser aadidos. Esta escrito en Lisp y posee su propio interprete Lisp, que aceptara nuevos comandos definidos en plena edicin.
Lmina 19 Roberto Gmez C.

Caractersticas EMACS
Presenta gran variedad de modos predefinidos,
facilita la utilizacion de lenguajes, tanto de programcin como C, C++, Java, Fortran, ...o de formateado como HTML, Nroff, LaTEX, consiguiendo en todos ellos un aspecto amigable asi como atajos de teclado para las acciones mas comunes.

Ppuede ser usado en modo texto en un terminal o en modo grafico. Una version un poco mas sofisticada de emacs existe y se llama XEmacs.
los dos editores son muy parecidos, pero este ltimo es mas completo.
Lmina 20 Roberto Gmez C.

Algunas vistas de emacs

Lmina 21

Roberto Gmez C.

El editor pico
Editor simple de textos, orientado a pantalla
display-oriented text editor.

Comandos se encuentran parte baja de la pantalla Usado dentro de pine para edicin de correos

Lmina 22

Roberto Gmez C.

El editor gEdit
Procesador ligero que maneja las opciones de la mayor parte de editores y algunas propias. Diseado para correr bajo GNOME.

Lmina 23

Roberto Gmez C.

Pantalla gEdit

Lmina 24

Roberto Gmez C.

El advanced editor
Conocido como KATE: KDE Advanced Text Editor Editor orientado a programadores Soporta los lenguajes: C, C++, Objective-C, IDL, Java, Modula2, Ada, Bash, Perl, Python, HTML, LaTeX y Sather. Colored syntax highlighting
puede ser completamente personalizada

Indentacin inteligente Mecanismos de seleccin de texto avanzadas


persistent selection, multiple selections, block selections
Lmina 25 Roberto Gmez C.

Algunas pantallas de KATE

Lmina 26

Roberto Gmez C.

Vous aimerez peut-être aussi