3 5 El Editor Vi(1)
-
Upload
noesolis69 -
Category
Documents
-
view
220 -
download
0
description
Transcript of 3 5 El Editor Vi(1)
-
EleditordeUnixpordefectosellamavi(visualeditor).Noesdelosmsergonmicosencomparacinconeditoresenmodogrfico,perotienelaventajadeestardisponibleydeutilizarlamismasintaxisbsicaentodoslosUnix.CadaUnixproponeengeneralunasintaxisextendidamsalldelasintaxisbsica.EleditorvienLinuxsellamavim.Vimrespeta toda la sintaxisdevi, peronoes recproco.Vi espequeo:ocupapocoespacioendisco, consumepocamemoria. Algunas de las opciones disponibles slo funcionan en vim, como por ejemplo la gestin de buffers dememoriamltiples.
vi no tiene mens, tampoco interfaz grfica, y no es intuitivo. Requiere conocerse de memoria un determinadonmerodeatajosdetecladoparapoderutilizarlo.Sibienelaprendizajeesunpocodifcil,unavezdominado,viesrpidoyprctico,hastatalpuntodeirmsrpidoqueconeditoresdetextogrficos.
Existentresmodosdefuncionamiento:
Cuandoejecutavi,pordefectoestenmodocomando.Paraempezaraintroducirtextohayqueteclearuncomandodeaadidooinsercin,loqueenervarpidamentecuandounonoconocevi:aoi.Porlotanto,elcomando[Esc]ipermiteinsertartexto.Parasalir,puedepasarporelmodolneadecomandos.Teclee[Esc]:yluegoqy[Entrar].Essencillo!
Porsupuesto,hayunpuntodeirona.Nadieconocetodoslosatajoselpropioautordeestelibronolosrecuerdatodos. Por lo tanto, adems de las guas en la prensa especializada, aqu tiene la lista de los comandos msutilizadosenformadetablas.Cuandoel":"precedealcomando,stesedebeinsertar enlneadecomandos.
Sisepierde,encualquiercasoypaseloquepase,alpulsarlatecla[Esc]vuelvesiempreenmodocomando.
Eleditorvi
1.Presentacin
vi [opciones] Archivo [Archivo2 ...]
Eldebatequeenfrentaalospartidariosdeemacs(odeotroseditores)conlosdevinotienerazndeser.CualquiersistemaLinux(yUnix)disponepaseloquepasedeleditorvi,porloqueesineludible.Sitienelaoportunidad,puede
instalareleditorqueleguste,aunqueesto,enentornosempresariales,deservidores,etc.,nosiempreserposible.
2.Funcionamiento
l modocomando: lasinsercionesrepresentancomandos.Seaccedeaellosalpulsar[Esc].Cadateclaocombinacindeteclasactivaunaaccin(supresindelneas,inserciones,mover,copiar,pegar, etc.).
l modoinsercin:setratadelainsercindetextoclsico.
l modolneadecomandos:unalneaenlaparteinferiordelapantallapermiteinsertarcomandosespeciales,validadaconlatecla[Entrar].Seaccedeaellaalpresionar,enmodocomando,latecla":".
Sihausadouncomandoyaseencuentraenmodocomandoynotienequepulsarlatecla[Esc]denuevoparaenviarelsiguiente.Porejemplo,la"x"suprimeuncarcter.Siyaestenmodocomando,puedepulsar10vecesla"x"sin
darlea[Esc]entrecadapulsacin.
- 1 - Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May
enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FbmkuRWRpdGlvbnMuTWVkaWFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VuaS5FZGl0aW9ucy5NZWRpYXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAAA9U29saXMgTWF5IE5vZSBGZXJuYW5kbyAtIDFhN2JiZDAyLTc4YTgtNDMyZS1iZDgyLTQ5ODUzNjI2ZmE5Nhpdywu4utKICwA=-enidentnumber
-
Sedebenefectuarlasaccionessiguientesenmodocomando.Antessedebepulsar[Esc]:[Esc]a,[Esc] i,etc.
Recuerdeque":"significaqueelcomandoseintroduceenla lneadecomandos:[Esc]:, insercindelcomando,luego[Entrar].
Quiz la idea le haga sonrer, pero existen todava teclados sin teclas direccionales, as como programas eintrpretesdecomandoquenosabeninterpretarlos(ejemplodelshellkshmalconfiguradoenalgunosUnix).Enestasmquinas,seactivaelmododeinsercindevipordefectoe,inclusoenvi,esposiblearreglrselassinlasteclasdedireccin,enmodocomando.
3.Loscomandos
a.Laintroduccindedatos
Comando Accin
a Aadirdespusdelcarcteractual.
A Aadirtextoalfinaldelnea.
i Insertardelantedelcarcteractual,comoenunprocesadordetexto.
I Insertartextoalprincipiodelnea.
o Aadirunalneadebajodelalneaactual.
O Insertarunalneaencimadelalneaactual.
b.Saliryguardar
Comando Accin
ZZ Guardarelarchivoysale.
:q! Salirsinguardar.
:q Salirsinosemodificelarchivo(encasocontrario,apareceunmensajedeerror).
:w Guardarelarchivo.Puedeespecificarunnombreparaseguir.
:wqo:x Guardarysalir.
1,10wfic Guardarlaslneasde1a10enfic.
c.Desplazamiento
Comando Accin
h Iralaizquierda.
l(lminscula) Iraladerecha.
k Irhaciaarriba.
j Irhaciaabajo.
0(cero) Principiodelnea.
:0 Principiodearchivo(primeralnea).
$ Findelnea.
:$ Findearchivo(ltimalnea).
w Iralapalabrasiguiente.
- 2 - Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May
enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FbmkuRWRpdGlvbnMuTWVkaWFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VuaS5FZGl0aW9ucy5NZWRpYXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAAA9U29saXMgTWF5IE5vZSBGZXJuYW5kbyAtIDFhN2JiZDAyLTc4YTgtNDMyZS1iZDgyLTQ5ODUzNjI2ZmE5Nhpdywu4utKICwA=-enidentnumber
-
Sepuedenrepetirestoscomandos.5ddsuprime5lneas4dw,4palabras5x,5caracteres,etc.
Adiferenciadeuneditordetextoclsico,vipuedebuscarotrascosasademsdepalabrassencillas,yfuncionaconlaayudadecaracteresespecialesycriterios.Elcomandodebsquedaeselcarcter/.Labsquedaarrancaenelcarcteractualhastaelfinaldelarchivo.Elcarcter?efectalabsquedaensentidoinverso.Primeroseindicaelcriterioyluegosepulsa[Entrar].
/echo
buscalacadenaechoacontinuacinenelarchivo.Cuandoseencuentralacadena,elcursorseparaenelprimercarcterdeestacadena.
Elcomandonpermiteseguirlabsquedaenelsentidoindicadoalprincipio.ElcomandoNefectalabsquedaensentidoinverso.
b Iralapalabraanterior.
f Saltaralcarctersiguiente.
Control+f Avanzarunapantalla(Forward).
Control+b Retrocederunapantalla(Backward).
G ltimalneadelarchivo.
G Saltaalalnea"n"(p.ej.:10Gvaaladcimalnea).
: dem(:10vaaladcimalnea).
d.Lacorreccin
Comando Accin
x Borrarelcarcterbajoelcursor.
X Borrarelcarcterdelantedelcursor.
r Sustituirelcarcterbajoelcursorporelcarcter.
dw Borrardesdeelcursorhastaelfinaldelapalabra.
d$oD Borrardesdeelcursorhastaelfinaldelalnea.
dO Borrardesdeelprincipiodelneahastaelcursor.
df Borrartodohastaelcarcter.
dG Borrartodohastalaltimalnea,incluidalalneaactual.
d1G Borrartodohastalaprimeralnea,incluidalalneaactual.
dd Borrarlalneaactual.
u Undo.Cancelarlaltimaaccin.
e.Bsquedaeneltexto
Algunoscriterios
l /[CcBb]ola:Cola,cola,Bola,bola.
l /[AZ]e:todoloqueempiezaconunamaysculaconunaeensegundaposicin.
- 3 - Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May
enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FbmkuRWRpdGlvbnMuTWVkaWFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VuaS5FZGl0aW9ucy5NZWRpYXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAAA9U29saXMgTWF5IE5vZSBGZXJuYW5kbyAtIDFhN2JiZDAyLTc4YTgtNDMyZS1iZDgyLTQ5ODUzNjI2ZmE5Nhpdywu4utKICwA=-enidentnumber
-
Parasustituirtexto,hayquecolocarsealprincipiodelacadenaquedeseamodificaryteclearunodeloscomandossiguientes.Acontinuacin,tecleesimplementesutexto.Elprincipioessencillo.Esidnticoaldelasupresin:sesuprimelaparteindicadayvipasaalmododeinsercinparalaintroduccindedatos.
Elcomandovpermiteunaseleccinvisual.Sesubrayaeltextoysepuededesplazarelcursorparaseleccionareltexto.Luegoutiliceunodeloscomandossiguientes:
Lasaccionessiguientessonposiblesenmodocomando:
l /[AZaZ09]:todoloqueempiezaporunamayscula,unaminsculaounacifra.
l /[az]:intervalonegativo:todoloquenoempiezaconunaminscula.
l /co.a:elpuntosustituyeuncarcter:coma,cola,cota...
l /Au*o:laestrellaesuncarcterderepeticin,de0ancaracteres,Auo,Auto,Automoto...
l /.*:laestrelladelantedelpunto,unacadenacualquieradetamaovariableel"."representauncarcter.
l /[AZ][AZ]*: repeticin del motivo entre [] de 0 a n veces, bsqueda de una palabra que tiene al menos unamayscula(alprincipiodepalabra).
l /Auto:elindicaquelacadenabuscadadeberestaralprincipiodelnea.
l /Auto$:el$indicaquelacadenabuscadadeberestaralfinaldelnea.
f.Comandosdesustitucin
Comando Accin
cw Sustituirlapalabracorriente.
c$ Sustituirhastaelfinaldelalnea.
c0(cero) Sustituirhastaelprincipiodelalnea.
cf Sustituirhastaelprximocarcter.
c/ Sustituirhastalaprximacoincidenciadelacadena.
g.CopiarPegar
l elcomando"d"correspondeacortar(mover)
l lachacecasilomismo,perovisequedaenmodoedicin
l parapegareltextoenellugarelegido,seutilizaelcomandop(detrsdelcarcter)oP(delantedelcarcter).Sisehacopiadounalneaentera,secolocardebajodelalneaactiva.
l Paracopiarunalnea:yy.
l Paracopiarcincolneas:5yy.
l Paracolocarlaslneascopiadasenunsitiodeterminado:p.
l Eleditorvidisponede26bferesdememoriaparaalmacenarenellos losdatosquesepuedennombrarcomosedesee.Paraello,seutilizael".
l Paracopiarcincopalabrasenlamemoriam1:"m1y5w.
l Parapegarelcontenidodelamemoriam1enunlugardeterminado:"m1p.
h.Sustitucin
- 4 - Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May
enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FbmkuRWRpdGlvbnMuTWVkaWFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VuaS5FZGl0aW9ucy5NZWRpYXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAAA9U29saXMgTWF5IE5vZSBGZXJuYW5kbyAtIDFhN2JiZDAyLTc4YTgtNDMyZS1iZDgyLTQ5ODUzNjI2ZmE5Nhpdywu4utKICwA=-enidentnumber
-
Lasustitucinpermitereemplazardemaneraautomticavariascoincidenciasporotracadena.
:[1 lnea, ltima lnea]s/Modelo/Sustitucin/[gc]
Losnmerosdelneassonopcionales.Enestecaso,lasustitucinsehaceenlalneacorrientenicamente.Comosustitucindelosnmerosdelnea,.determinalalneacorriente,1laprimeralnea,$laltimalnea.
Elmodeloesuncriteriodebsquedapresentadoenestasltimaspginas.Sustitucinesunacadenacualquieraquesustituirelmodelo.
Pordefectoslosesustituyelaprimeracoincidencia.Laletragindicaquehayquesustituirtodaslascoincidencias.Conc,vi requiereunaconfirmacinparacadaunade lascoincidencias.El siguienteejemplosustituye todas lascoincidenciasdeUnixounixenUNIX.
:1,$s/[Uu]nix/UNIX/g
Presentamosalgunoscomandosprcticos.
Elcomandosetpermiteconfigurareleditoryaccederasusopciones:
Vim propone a menudo la coloracin sintctica. Detecta el tipo de archivo cargado y colorea las lneas, lascontraseas,etc.Puededesactivarlacoloracin:
i.Otros
Edicinavanzada
:rfic Insertarelcontenidodeficdesdeellugaractual.
:!cmd Ejecutarelcomando.Pulse[Entrar]paravolveravi.
:r!cmd Insertarelresultadodelcomandoenellugaractual.
:efic Cargarelarchivoficparaedicin.
:e# Conmutarentrelosdiferentesarchivosabiertos.
Comandoset
l setall:muestraelconjuntodelasopcionesposibles.
l setnumber(onu)/nonumber(ononu):muestra/suprimelosnmerosdelneas.
l setautoindent/noautoindent:seconservaelsangradoduranteunretornoalalnea.
l setshowmatch/noshowmatch:durantelaintroduccindeunallaveodeunaparntesisdecierre,sevisualizaeldeaperturaduranteuninstantemuycorto,luegoeleditorvuelvealcarctercorriente.
l setshowmode/noshowmode:vimostrarunalneadeestado(INPUTMODE).
l settabstop=x:defineelnmerodecaracteresparaunatabulacin.
l syntaxoffparadesactivar
l syntaxonparaactivar.
- 5 - Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May
enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FbmkuRWRpdGlvbnMuTWVkaWFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VuaS5FZGl0aW9ucy5NZWRpYXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAAA9U29saXMgTWF5IE5vZSBGZXJuYW5kbyAtIDFhN2JiZDAyLTc4YTgtNDMyZS1iZDgyLTQ5ODUzNjI2ZmE5Nhpdywu4utKICwA=-enidentnumber