Академический Документы
Профессиональный Документы
Культура Документы
1.Presentacin
EleditordeUnixpordefectosellamavi(visualeditor).Noesdelosmsergonmicosencomparacinconeditoresen
modogrfico,perotienelaventajadeestardisponibleydeutilizarlamismasintaxisbsicaentodoslosUnix.Cada
Unixproponeengeneralunasintaxisextendidamsalldelasintaxisbsica.EleditorvienLinuxsellamavim.Vim
respeta toda la sintaxis de vi, pero no es recproco. Vi es pequeo: ocupa poco espacio en disco, consume poca
memoria. Algunas de las opciones disponibles slo funcionan en vim, como por ejemplo la gestin de buffers de
memoriamltiples.
vi no tiene mens, tampoco interfaz grfica, y no es intuitivo. Requiere conocerse de memoria un determinado
nmerodeatajosdetecladoparapoderutilizarlo.Sibienelaprendizajeesunpocodifcil,unavezdominado,vies
rpidoyprctico,hastatalpuntodeirmsrpidoqueconeditoresdetextogrficos.
Eldebatequeenfrentaalospartidariosdeemacs(odeotroseditores)conlosdevinotienerazndeser.Cualquier
sistemaLinux(yUnix)disponepaseloquepasedeleditorvi,porloqueesineludible.Sitienelaoportunidad,puede
instalareleditorqueleguste,aunqueesto,enentornosempresariales,deservidores,etc.,nosiempreserposible.
2.Funcionamiento
Existentresmodosdefuncionamiento:
modo comando: las inserciones representan comandos. Se accede a ellos al pulsar [Esc]. Cada tecla o combinacin
deteclasactivaunaaccin(supresindelneas,inserciones,mover,copiar,pegar, etc.).
modoinsercin:setratadelainsercindetextoclsico.
modolneadecomandos:unalneaenlaparteinferiordelapantallapermiteinsertarcomandosespeciales,validada
conlatecla[Entrar].Seaccedeaellaalpresionar,enmodocomando,latecla":".
Cuandoejecutavi,pordefectoestenmodocomando.Paraempezaraintroducirtextohayqueteclearuncomando
deaadidooinsercin,loqueenervarpidamentecuandounonoconocevi:aoi.Porlotanto,elcomando[Esc]i
permiteinsertartexto.Parasalir,puedepasarporelmodolneadecomandos.Teclee[Esc]:yluegoqy[Entrar].Es
sencillo!
Sihausadouncomandoyaseencuentraenmodocomandoynotienequepulsarlatecla[Esc]denuevoparaenviar
elsiguiente.Porejemplo,la"x"suprimeuncarcter.Siyaestenmodocomando,puedepulsar10vecesla"x"sin
darlea[Esc]entrecadapulsacin.
Porsupuesto,hayunpuntodeirona.Nadieconocetodoslosatajoselpropioautordeestelibronolosrecuerda
todos. Por lo tanto, adems de las guas en la prensa especializada, aqu tiene la lista de los comandos ms
utilizadosenformadetablas.Cuandoel":"precedealcomando,stesedebeinsertar enlneadecomandos.
Sisepierde,encualquiercasoypaseloquepase,alpulsarlatecla[Esc]vuelvesiempreenmodocomando.
Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May
- 1-
3.Loscomandos
a.Laintroduccindedatos
Sedebenefectuarlasaccionessiguientesenmodocomando.Antessedebepulsar[Esc]:[Esc]a,[Esc] i,etc.
Comando
Accin
Aadirdespusdelcarcteractual.
Aadirtextoalfinaldelnea.
Insertardelantedelcarcteractual,comoenunprocesadordetexto.
Insertartextoalprincipiodelnea.
Aadirunalneadebajodelalneaactual.
Insertarunalneaencimadelalneaactual.
b.Saliryguardar
Recuerde que ":" significa que el comando se introduce en la lnea de comandos: [Esc] :, insercin del comando,
luego[Entrar].
Comando
Accin
ZZ
Guardarelarchivoysale.
:q!
Salirsinguardar.
:q
Salirsinosemodificelarchivo(encasocontrario,apareceunmensajedeerror).
:w
Guardarelarchivo.Puedeespecificarunnombreparaseguir.
:wqo:x
Guardarysalir.
1,10wfic
Guardarlaslneasde1a10enfic.
c.Desplazamiento
Quiz la idea le haga sonrer, pero existen todava teclados sin teclas direccionales, as como programas e
intrpretesdecomandoquenosabeninterpretarlos(ejemplodelshellkshmalconfiguradoenalgunosUnix).En
estasmquinas,seactivaelmododeinsercindevipordefectoe,inclusoenvi,esposiblearreglrselassinlas
teclasdedireccin,enmodocomando.
Comando
- 2-
Accin
Iralaizquierda.
l(lminscula)
Iraladerecha.
Irhaciaarriba.
Irhaciaabajo.
0(cero)
Principiodelnea.
:0
Principiodearchivo(primeralnea).
Findelnea.
:$
Findearchivo(ltimalnea).
Iralapalabrasiguiente.
Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May
Iralapalabraanterior.
f<c>
Saltaralcarcter<c>siguiente.
Control+f
Avanzarunapantalla(Forward).
Control+b
Retrocederunapantalla(Backward).
ltimalneadelarchivo.
<n>G
Saltaalalnea"n"(p.ej.:10Gvaaladcimalnea).
:<n>
dem(:10vaaladcimalnea).
d.Lacorreccin
Comando
Accin
Borrarelcarcterbajoelcursor.
Borrarelcarcterdelantedelcursor.
r<c>
Sustituirelcarcterbajoelcursorporelcarcter<c>.
dw
Borrardesdeelcursorhastaelfinaldelapalabra.
d$oD
Borrardesdeelcursorhastaelfinaldelalnea.
dO
Borrardesdeelprincipiodelneahastaelcursor.
df<c>
Borrartodohastaelcarcter<c>.
dG
Borrartodohastalaltimalnea,incluidalalneaactual.
d1G
Borrartodohastalaprimeralnea,incluidalalneaactual.
dd
Borrarlalneaactual.
Undo.Cancelarlaltimaaccin.
Sepuedenrepetirestoscomandos.5ddsuprime5lneas4dw,4palabras5x,5caracteres,etc.
e.Bsquedaeneltexto
Adiferenciadeuneditordetextoclsico,vipuedebuscarotrascosasademsdepalabrassencillas,yfuncionacon
laayudadecaracteresespecialesycriterios.Elcomandodebsquedaeselcarcter/.Labsquedaarrancaenel
carcteractualhastaelfinaldelarchivo.Elcarcter?efectalabsquedaensentidoinverso.Primeroseindicael
criterioyluegosepulsa[Entrar].
/echo
buscalacadenaechoacontinuacinenelarchivo.Cuandoseencuentralacadena,elcursorseparaenelprimer
carcterdeestacadena.
Elcomandonpermiteseguirlabsquedaenelsentidoindicadoalprincipio.ElcomandoNefectalabsquedaen
sentidoinverso.
Algunoscriterios
/[CcBb]ola:Cola,cola,Bola,bola.
/[AZ]e:todoloqueempiezaconunamaysculaconunaeensegundaposicin.
Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May
- 3-
/[AZaZ09]:todoloqueempiezaporunamayscula,unaminsculaounacifra.
/[az]:intervalonegativo:todoloquenoempiezaconunaminscula.
/co.a:elpuntosustituyeuncarcter:coma,cola,cota...
/Au*o:laestrellaesuncarcterderepeticin,de0ancaracteres,Auo,Auto,Automoto...
/.*:laestrelladelantedelpunto,unacadenacualquieradetamaovariableel"."representauncarcter.
/[AZ][AZ]*: repeticin del motivo entre [] de 0 a n veces, bsqueda de una palabra que tiene al menos una
mayscula(alprincipiodepalabra).
/Auto:elindicaquelacadenabuscadadeberestaralprincipiodelnea.
/Auto$:el$indicaquelacadenabuscadadeberestaralfinaldelnea.
f.Comandosdesustitucin
Parasustituirtexto,hayquecolocarsealprincipiodelacadenaquedeseamodificaryteclearunodeloscomandos
siguientes.Acontinuacin,tecleesimplementesutexto.Elprincipioessencillo.Esidnticoaldelasupresin:se
suprimelaparteindicadayvipasaalmododeinsercinparalaintroduccindedatos.
Comando
Accin
cw
Sustituirlapalabracorriente.
c$
Sustituirhastaelfinaldelalnea.
c0(cero)
Sustituirhastaelprincipiodelalnea.
cf<x>
Sustituirhastaelprximocarcter<x>.
c/<rech>
Sustituirhastalaprximacoincidenciadelacadena<rech>.
g.CopiarPegar
Elcomandovpermiteunaseleccinvisual.Sesubrayaeltextoysepuededesplazarelcursorparaseleccionarel
texto.Luegoutiliceunodeloscomandossiguientes:
elcomando"d"correspondeacortar(mover)
lachacecasilomismo,perovisequedaenmodoedicin
parapegareltextoenellugarelegido,seutilizaelcomandop(detrsdelcarcter)oP(delantedelcarcter).Sise
hacopiadounalneaentera,secolocardebajodelalneaactiva.
Lasaccionessiguientessonposiblesenmodocomando:
Paracopiarunalnea:yy.
Paracopiarcincolneas:5yy.
Paracolocarlaslneascopiadasenunsitiodeterminado:p.
El editor vi dispone de 26 bferes de memoria para almacenar en ellos los datos que se pueden nombrar como se
desee.Paraello,seutilizael".
Paracopiarcincopalabrasenlamemoriam1:"m1y5w.
Parapegarelcontenidodelamemoriam1enunlugardeterminado:"m1p.
h.Sustitucin
- 4-
Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May
Lasustitucinpermitereemplazardemaneraautomticavariascoincidenciasporotracadena.
Losnmerosdelneassonopcionales.Enestecaso,lasustitucinsehaceenlalneacorrientenicamente.Como
sustitucindelosnmerosdelnea,.determinalalneacorriente,1laprimeralnea,$laltimalnea.
Elmodeloesuncriteriodebsquedapresentadoenestasltimaspginas.Sustitucinesunacadenacualquiera
quesustituirelmodelo.
Pordefectoslosesustituyelaprimeracoincidencia.Laletragindicaquehayquesustituirtodaslascoincidencias.
Con c, vi requiere una confirmacin para cada una de las coincidencias. El siguiente ejemplo sustituye todas las
coincidenciasdeUnixounixenUNIX.
:1,$s/[Uu]nix/UNIX/g
i.Otros
Edicinavanzada
Presentamosalgunoscomandosprcticos.
:rfic
Insertarelcontenidodeficdesdeellugaractual.
:!cmd
Ejecutarelcomando.Pulse[Entrar]paravolveravi.
:r!cmd
Insertarelresultadodelcomandoenellugaractual.
:efic
Cargarelarchivoficparaedicin.
:e#
Conmutarentrelosdiferentesarchivosabiertos.
Comandoset
Elcomandosetpermiteconfigurareleditoryaccederasusopciones:
setall:muestraelconjuntodelasopcionesposibles.
setnumber(onu)/nonumber(ononu):muestra/suprimelosnmerosdelneas.
setautoindent/noautoindent:seconservaelsangradoduranteunretornoalalnea.
setshowmatch/noshowmatch:durantelaintroduccindeunallaveodeunaparntesisdecierre,sevisualizaelde
aperturaduranteuninstantemuycorto,luegoeleditorvuelvealcarctercorriente.
setshowmode/noshowmode:vimostrarunalneadeestado(INPUTMODE).
settabstop=x:defineelnmerodecaracteresparaunatabulacin.
Vim propone a menudo la coloracin sintctica. Detecta el tipo de archivo cargado y colorea las lneas, las
contraseas,etc.Puededesactivarlacoloracin:
syntaxoffparadesactivar
syntaxonparaactivar.
Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May
- 5-