Vi Linux
Vi Linux
Vi Linux
Esto insertar el fichero especificado en la posicin o lnea en la que ests situado en el fichero en el que ests
trabajando. Si especificas un nmero antes de la r, insertar el fichero especificado en dicha lnea del fichero actual.
1.10
insercin. Esto volver a justificar el texto desde la posicin actual hasta el final de prrafo. Si tu mquina no tiene fmt,
necesitas encontrar un programa similar.
1.11
Sitese encima del carcter inicial que quiere llevarse al registro y pulse m<marca> (donde marca es un carcter
entre a y z). Esto se utiliza para marcar trozos de texto, que viene definidos por una posicin o marca inicial
(comando m)
2.
Sitese un carcter despus del ltimo carcter del bloque que quiere marcar y pulse <letra_registro>y`<marca>
(para copiar el bloque al registro <letra>) o <letra_registro>d`<marca> (para eliminar el bloque y guardarlo en
registro <letra_registro>)
3.
Ya estamos listo para pegar el registro en la posicin del texto que deseemos. Solamente tendremos que
colocarnos un carcter antes de la posicin en la que queramos volcar el registro o bufer y teclear
<letra_registro>p.
Aunque la secuencia para trabajar con marcas y distintos registros o bufers de memoria es un poco farragosa, con
la prctica se acaba automatizando y resulta casi imprescindible y realmente til. Nos evitamos tener que contar lneas
para llevarnos una porcin de texto a un determinad buffer o registro. Este tipo de atajos de teclado son los que
diferencias a los autnticos expertos de los vulgares usuarios de vi.
1.12
actual desde la ltima vez que se salv sin salvar ningn cambio. Adems, el texto eliminado se almacena en los
registros numerados desde 1 a 9. <nmero>p restaurar la ensima cosa borrada. Puedes buscar rpidamente en los
registros probando uno, pulsando u si no es el que buscas y probando con el siguiente. (Para hacer este proceso ms
rpido, vi utiliza . que difiere ligeramente del uso normal. En lugar de repetir el ltimo comando, intentar con el
siguiente registro, de forma que todo lo que necesitas hacer es: 1p u. u. u. etc. hasta que deshagas el borrado que
quieras deshacer.)
1.13
distintos?
:[m],[n]w <nombre_de_fichero> salvar desde la lnea m a la lnea n al fichero nombre_de_fichero. Este
mtodo de numeracin de lneas funcionar con casi todos los comandos :. Si usas :[m],[n]w >> <nombre_de_fichero>
se aadirn las lneas al fichero.
1.14
potencia. Por ejemplo, existen muchas formas de buscar y remplazar, y todos ellos tienen algunas similitudes (de hecho,
ellos son de alguna forma los mismos )
:s/viejo/nuevo/g
Pero esto solo acta sobre la lnea actual As que:
:%s/viejo/nuevo/g
En general
:[rango]s/viejo/nuevo/[cgi]
Donde [rango] es cualquier rango, incluyendo nmeros, $ (final de fichero), . (la posicin o lnea actual), %
(fichero actual), o simplemente dos nmeros con una barra entre ellos. (o incluso +5 para representar las siguientes
cinco lneas). [cgi] es cualquiera de las tres c, g, i o ninguna de ellas. c le dice a vi que te pregunte antes de realizar el
cambio (confirm), g para que realice varias substituciones en una misma lnea si se diese el caso, i para decirle a vi
que no haga distinciones entre maysculas y minsculas en la bsqueda. Si no especificas ninguno de estos
caracteres despus de la barra final, solamente se cambiar la primera ocurrencia de cada lnea.
Mi mtodo favorito es:
:g/foobar/s/bar/baz/g Esto busca foobar, y lo cambia por foobaz. Dejar sin cambios a jailbars, con el otro mtodo no
sera as. Este es mi mtodo favorito, pero es un poco complicado de recordar. Por supuestos que tambin puedes
utilizar patrones de bsqueda que sean expresiones regulares, y otros pocos comandos en la parte que sustituye al
texto. Si utilizas \( y \) en el patrn para formar una secuencia de escape, puedes hacer muchas cosas nifty.
Por ejemplo:
:g/\(foo\)\(bar\)/s/\2/\1baz/g cambiar foobar por foobaz.
Las secuencias especiales permitidas son:
exclusivamente una letra) y definicin de hasta 100 caracteres. Si se utilizan mltiples comandos en la definicin, no es
necesario que estn separados. Existen una serie de caracteres de control que se pueden utilizar dentro de la definicin
de las macros:
CARACTERES DE CONTROL
CDIGO
Escape
Ctrl-V
Nueva Lnea
Ctrl-J
Retorno de Carro
Ctrl-M
Tecla de Escape
Ctrl-[
Los nombres de las macros no deberan ser letras de vi que se utilicen en modo comando, como por ejemplo la
a para aadir, la o para insertar lneas,
Recuerda utilizar ^V antes de cualquier carcter de control que pudieses utilizar.
:unmap <lhs> eliminar la macro.
:map! <lhs> <rhs> har que <lhs> inserte <rhs> en el texto del documento.
2.5 - Cmo hago que una tecla de funcin se comporte como una
Macro?
Si en la definicin de la macro se especifica #n donde n es un nmero entre 0 y 9, ser mapeado a la tecla de
funcin apropiada.
Ejemplo: :map #1 :set all Cuando pulsemos la tecla de funcin F1 ser igual que si tecleasemos :set all para
que nos muestre todas las variables de entorno.
The ultimate guide to the VI and EX Text Editors Hewlett Packard Company (authors) The Benjamin/Cummings
Publishing Company, Inc. ISBN 0-8053-4460-8
A Practical guide to the Unix System Mark G. Sobell Benjamin Cummings Publisher
Learning the Vi Editor Linda Lamb O'Reilly & Associates ISBN 0-937175-67-6
An Introduction to Display Editing with Vi' & 'EX reference Manual' in UNIX programmers Manual vol. II Bill
Joy Berkeley Software
1.
2.
3.
4.
5.
6.
7.
8.
Partir una lnea en la posicin en la que est el cursor, y poner un > al principio de la lnea siguiente. Si el
particionamiento de palabra al final de lnea est habilitado, podra partir la ltima palabra de la primera lnea:
map g may0O<ctrl-v><esc>P`ay$:s/./ /g0i><ctrl-v><esc>`aPa<ctrl-v><esc>D
9.
10. Hacer que control-x funcione como cortar, control-v como pegar, control-p como copiar. Debers marcar el principio
del rea como m (utilice mm). (control-c no puede ser remapeado).
map <ctrl-v><ctrl-x> "zd`m
map <ctrl-v><ctrl-p> "zy`m
map <ctrl-v><ctrl-v><ctrl-v><ctrl-v> "zP
11. Centra una lnea: map = 080i <ctrl-v><esc>$78hd0^D:s/ / /g<ctrl-v><enter>$p
12. Redefine el tabulador de forma que inserta 5 espacios en lugar de una marca de tabulador:
map! <ctrl-v><ctrl-i> <space><space><space><space><space>
13. Cambia la lnea actual y la ltima lnea (reptalo para invertir el fichero): map v Gdd''Pj
14. Imprime el documento a la impresora por defecto (para BSD sustituya lp por lpr): map v 1G!Glp<ctrl-v><enter>u
15. Fije # para activar y desactivar los nmero de lnea:
map \o# o:set nu<ctrl-v><enter>:set nonu<ctrl-v><esc>-:
map \o# "wp<ctrl-v><enter>
map \d# "w2dd
map \x# "xdd@x"xpk
map # ma3L\o#\x#\d#`a:<ctrl-v><enter>
veces... ir a modo ex
comando siguiente
comando anterior
prrafo siguiente
prrafo anterior
]]
seccin siguiente
[[
seccin anterior
ir al principio de
lnea ir al final de
(espaci
o)
(retur
n)
/
lnea siguiente
bsqueda hacia delante
bsqueda hacia atrs
?
%
'
``
''
!!
>>
<<
>%
<%
concuerde a
A
^a
b
C
^c
borrado hasta...
^d
scroll hacia abajo de 1/2 pg, mueve al shiftwidth anter. en modo insercion
final de la palabra
^e
abajo f
encontrar...
^f
no se utiliza
^g
izquierda
^h
i
^i
abajo
^j
arriba
no utilizado
^k
no utilizado
derecha
^l
redibuja la pantalla
M
^m
actual O
actual
^o
p
no utilizado
no utilizado
salir y ejecutar ex
^q
no utilizado
^r
substituir
^s
no utilizado
a...
^t
^u
repaginar media
ventana v
no utilizado
no utilizado
^v
no utilizado
no utilizado en modo comando, en modo insercin para desplazarse al principio de la palabra anterior
^x
no utilizado
copia...
^y
ZZ
escribe y sale
^z
no utilizado