ot M.Petrov(AmridikoN/amri)(21-03-2006)

reiting (28)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

 VI e tekstov redaktor napisan ot Bil Dzhoi (Bill Joy) prez 1976 godina. Imeto VI idva ot abreviaturata za komandata visual v ex redaktora. Sushtestvuvat dosta Vi kloningi kato dosta populiarni sa:

1.  Vim na Bram Moolenaar
2.  nvi na Keith Bostic
3.  elvis na Steve Kirkendall
4.  vile na Kevin Buettner, Tom Dickey i Paul Fox

     Vuv VI ima niakolko rezhima na rabota kato vuvezhdasht rezhim (insert mode) i komanden rezhim (command mode). Za vlizane vuv vuvezhdasht rezhim e neobhodimo da natisnete butona 'I'. Sled vlizaneto v insert mode imate vuzmozhnost da vuvezhdate, triete i redaktirate tekst na volia. Eto niakoi osnovni komandi za rabota s VI:

:e! - Ako ste promenili sudurzhanieto na fail i reshite da vurnete poslednata zapisana versiia na faila.
:q! - Ako iskate da izlezete ot fail-a bez da zapisvate promenite.
:x - Ako iskate da zapishete promenite vuv fail-a i da izlezete ot nego. Alternativa na ":x" e klavishnata kombinatsiia ot ZZ i ":wq"
:w - Ako iskate da zapazite promenite vuv fail-a
:w file - Ako iskate da zapazite fail-a s drugo ime(Edin vid ekvivalent na Save As)
:!rm file - Ako iskate da iztriete fail.
:!df - Ako iskate da izpulnite prilozhenieto df(report filesystem disk space usage)
:!sh - Ako iskate da izpolzvate vremenno shel sreda. Sled tova mozhe da se vurnete v rabotata s VI chrez klavishnata kombinatsiia Control+d. Alternativa na vsichko tova e izlizane ot VI chrez Control+z i vrushtaneto kum VI sredata chrez prilozhenieto: fg

     Navigatsiiata vuv VI se osushtestviava chrez slednite butoni:

                  k(nagore)
     h(liavo)            l(diasno)
                  j(dolu)

     Ekvivalent sa strelkite na klaviaturata:

                  /|(nagore)
     <-(liavo)           ->(diasno)
                  |/(dolu)

Primeri za po- konkretna navigatsiia:

Ako iskate da se premestite 2 reda nagore to izpolzvaite: 2k
Ako iskate da se premestite 3 reda nadolu to izpolzvaite: 3j
Ako iskate da se izmestite 6 simvola na liavo to izpolzvaite: 6h
Ako iskate da se izmestite 5 simvola na diasno to izpolzvaite: 5l
Ako iskate da otidete v nachaloto na reda natisnete: 0
Ako iskate da otidete v kraia na reda natisnete: Shift+4(ili $).

     Predvizhvaneto mezhdu ekranite stava sus slednite kombinatsii:

Control+F - Predvizhva edin ekran napred
Control+B - Predvizhva edin ekran nazad
Control+D - Predvizhva polovin ekran napred
Control+U - Predvizhva polovin ekran nazad

Navigatsiiata na tekushtiia ekran se izvurshva sus slednite klavishni kombinatsii:

Shift+H - Mesti kursora Vi na purviia red ot ekrana
Shift+M - Mesti kursora Vi na sredniia red ot ekrana
Shift+L - Mesti kursora Vi na posledniia red ot ekrana
nH - Mesti kursora n broi redove sled purviia red ot ekrana
nL - Mesti kursora Vi n broi redove predi posledniia red ot ekrana.

     Kombinatsiiata ot Shift+6 ili ^ Vi mesti kursora na purviia neprazen simvol na tekushtiia red. e - Vi prehvurlia v kraia na dumata sled kursora kato ne ignorira punktuatsiiata E - Vi prehvurlia v kraia na dumata sled kursora kato ignorira punktuatsiiata.
     S butona "G" mozhe da da se predvizhvate m/u redovete. 12G - Premestvane na dvanadesetiia red sled purviia ot fail.a Control+G - izvezhda Vi tekushtiia red.
     Ako iskate da se predvizhite na posledniia red vuv fail mozhe da go napravite kato izpolzvate za purvi argument na VI '+' t.e. “ vi + file “.
     Ako iskate da se predvizhite do reda v koito se sudurzha konkretna duma mozhe da go napravite otnovo s argument kum VI '+/mart' t.e. “ vi +/test file “ . Predvizhvaneto na konkreten red oshte pri otvarianeto na fail stava po sledniia nachin:

vi +5 file - Otvaria faila kato kursora se namira na petiia red.

     Vi Vi predostavia vuzmozhnost da zamestvate dumi s drugi takiva. Mozhe da zamestite edna duma nazad s druga, edna duma napred s druga i t.n. Zamestvaneto se izvurshva chrez butona “ c ” .

Primeri za zamestva:

cb - Zamestva edna duma nazad
c2b - Zamestva dve dumi nazad
cw - Zamestva sledvashtata edna duma
c4w - Zamestva sledvashtite chetiri dumi.
c$ - Zamestva tseliia red ot kursora do kraia na reda
c0 - Zamestva tseliia red ot kursora do nachaloto na reda.
cc - Zamestva tseliia red.

      Vi Vi predostavia vuzmozhnostta za prevrushtane na tekst ot malki kum golemi bukvi i obratno. Vsichko tova stava s kombinatsiiata ot : Shift+` ili (~) .
     Iztrivane na red se izvurshva chrez "dd". Iztrivaneto na informatsiiata sled kursora za tekushtiia red se izvurshva chrez "D". Ekvivalent e "d$" . Imate vuzmozhnost da iztriete informatsiiata predi kursora za tekushtiia red sus "d0" . Sus "dw" se iztrivat dumi. Mozhe da konkretizirate kolko dumi da budat iztriti.

Primeri:

d2w - SHTe budat iztriti 2 dumi sled kursora.
db - Iztriva duma predi kursora.
d2b - Iztriva dve dumi predi kursora.

     Mozhe da iztrivate simvoli sled kursora s butona: "x".
2x - Iztriva dva simvola sled kursora.
S butona "p" mozhe da slagate tekst koito e ot bufera. Kogato iztriete 1 red toi otiva v bufera i ako natisnete "p" toi shte se izvede na ekrana.

     Kopiraneto na tekst stava s butona 'y'(yank). S kombinatsiiata 'yw' kopirate dumata sled kursora.

Primeri:

S “y$” kopirate informatsiiata ot kursora do kraia na reda
S 'yy' kopirate tseliia red.
S butona 'p' tia se izvezhda na ekrana.
S butona '.' se povtaria poslednoto deistvie. Ako izvurshite operatsiiata iztrivane na red i sled tova natisnete '.' to Vie shte iztriete oshte edin red.
Butona "u" e za vrushtane edna stupka nazad.
Buton J - Obediniavane na dva reda.

     Tursene vuv VI se osushtestiava chrez '/'

Primeri:

/blaf - Tursene na dumata "blaf" vuv tekushtiia fail ot kursora napred
?blaf - Tursene na dumata "blaf" vuv tekushtiia fail ot kursora nazad
S butona "n" mozhe da povtariate turseneto kato to se izvurshva v posoka napred
S butona "N" mozhe da povtariate turseneto kato to se izvurshva v posoka nazad

     VI pri predostavia vuzmozhnost da suzdavate do 26 (a-z) sobstveni imenuvani buferi . Mozhe da si suzdadete tri bufera s razlichna informatsiia i da gi polzvate i trite ednovremenno.
"a2yy” - Suzdavane na bufer s ime "a" v koito shte se sudurzhat 2 reda(2yy) sled kursora.
"ap“- Izvezhda sudurzhanieto na bufer s ime "a" .

     Razglezhdane na niakoi Ex komandi. VI e vizualniia rezhim na redaktora Ex i e dobre da imame poniatie ot Ex komandite. Komandata 'g' pozvoliava globalno tursene/zameniane na konkretna duma “:g/mar/” - SHTe izvede na ekrana vsichkite redove v koito se sudurzha dumata 'mar' . Mozhe da izpolzvate "!" zada izvurshite deistvie kato “:g!/mar/” - s tova deistvie izvezhdate vsichki redove koito ne sudurzhat dumata 'mar' .Mozhe da importirate sudurzhanieto na drug fail. Tova stava s komandata "r" ili po- tochno "read file" ili abreviaturata "r file"

     VI Vi predostavia vuzmozhnostta za rabota s niakolko fail-a paralelno. Tova se postiga kato vseki fail e argument kum VI t.e. "vi file1 file2" shte zaredi ekrana Vi file1, no e zaraden i file1. Mozhe da preminavate napred m/u failovete s komandata ':n' i nazad m/u failovete s komandata ':N' S komandata ":args" ili neinata abreviatura ':ar' se izvezhdat vsichki izpolzvani failove ot VI (t.e. argumentite). Interesno e da se znae, che zada izvurshvate prevklyuchvane m/u failovete e neobhodimo da zapishete tekushtiia fail(:w) i chak sled tova da preminete kum drug fail. Za prevklyuchvane m/u failovete e mnogo lesno da izpolzvate '#' sus 'e' t.e. ':e #'. Sus komandata ':r #' mozhe da obedinite failovete koito ste ukazali po- rano(argumentite na VI) . S komandata ":e file" mozhe da izpolzvate i drugi failove ednovremenno(osven tezi koito ste ukazali predi tova(argumentite) )

     Tuk shte razgledame reguliarnite izrazi vuv Vi:
Ako iskate da zamenite konrektna duma s druga mozhe da izpolzvate slednata komanda “ :%s/old/new/g” kato "%" ukazva vsichki redove, "g" ukazva globalno tursene .
Ako iskate da konkretizirate redove v koito da se izvurshi zamianata izpolzvaite: “:1,30s/new/old/g “.Tozi primer shte zameni dumata "new" s "old" ot 1 do 30 red.
Ako iskate Vi da Vi pita za vsiaka zamiana triabva da dobavite 'c' "confirm" t.e. “ :1,30s/new/old/gc “

Mnogo polezni biha Vi bili metasimvolite:

u Pravi goliama purvata bukva
U Pravi golemi vsichki bukvi
l Pravi malka purvata bukva
L Pravi malki vsichki bukvi

Primeri:

Ako iskate da napravite golemi bukvite na dumata: Martin mozhe da napravite tova: “ :%s/Martin/Umartin “
Ako iskate da napravite goliama purvata bukva na dumata: Martin mozhe da napravite tova “ :%s/martin/umartin “
Operatsiite s l i L sa analogichni s tezi na u i U
     Imate vuzmozhnost da spestite malko pisane otnostno zamianata na golemi s malki bukvi i obratno. Ako imate duma s golemi bukvi i iskate te da stanat malki to mozhe da polzvate(tova e za vsiaka duma:MARTIN) “:%s/MARTIN/L& “ Ako imate duma s golemi bukvi i iskate samo purvata bukva ot :MARTIN da bude malka mozhe da polzvate “ :%s/MARTIN/l& “. Mozhe sushto da prenebregnete razmera na bukvite chrez ":set ic" koeto oznachava (ignore case) t.e. ako pozhelaete da prezapishete dumata "MARTIN" mozhe da go napravite s ":%s/martin/martinn" . Imate vuzmozhnost da izvurshite poslednata operatsiia po prezapis t.e. Ako ste napravili prezapis na konkretni redove(ot 1 do 5)” :1,5s/martin/Martin “ i sled tova reshite, che triabva da izvurshite operatsiiata za vsichki dumi: martin to mozhe da izpulnite “ :%&g “.Ako Vi se nalozhi da slozhite niakakuv tekst predi konkretna duma mozhe da izpolzvate sledniia primer” :%s:blaf:&:g “. Tozi primer postavia i predi i sled blaf. Neka razgledame sledniia dobur primer:” %s/[Vv]isual/Visual/g “. Tozi primer zamestva dumata Visual ili visual ( [Vv] ) sus Visual .S komandata “: g/^$/d "mozhe da iztriete vsichki prazni redove

     SHTe razgledame niakoi VI tehniki na redaktirane za po- naprednali.

     Ako iskate da napravite postoianni nastroiki na Vasheto Vi to triabva da gi opishete vuv fail .exrc koito triabva da se namira vuv Vashata domashna direktoriia. Mozhe da zaredite nastroikite na VI i ot drugo miasto, chrez komandata :so file Nastroikite na Vi se izvurshvat chrez ex komandata “ :set “ S komandata :set mozhe da aktivirate(:set nu) i deaktivirate(:set nuno) konkretni nastroiki. Sus ":set nu" se nomerira tekushtiia fail. Sus komandata “ :set all “mozhe da vidite spisuk na vsichki nastroiki. Mnogo hubavo e da znaete, che mozhe da kombinirate unix komandi sus r(read) na Vi, t.e. mozhe da vlagate rezultat ot unix komanda kum tekushtiia fail s kogoto rabotite. Tazi vuzmozhnost iasno se vizhda ot sledniia primer “ :r !date “, tia vuvezhda vuv tekushtiia fail rezultata ot komandata `date`

     Sushto mnogo dobra vuzmozhnost na Vi e vuzmozhnostta za suzdavane na sobstveni abreviaturi. Ako Vi se nalaga da pishete neshto s mnogo simvoli mnogo kratno, to mozhe da si ulesnite rabotata imenno s tazi vuzmozhnost. Suzdavaneto na abreviatura se izvurshva po sledniia nachin “ :ab abbr phrase “, primer “ :ab gl Gnu/Linux “. Kogato ste vuv vuvezhdasht rezhim (Insert mode) i vuvedete gl to VI avtomatichno shte Vi vuvede Gnu/Linux. S komandata :ab mozhe da vidite vsichki abreviaturi. Ako iskate da premahnete konkretna abreviatura (v sluchaia gl) mozhe da postignete tova sus komandata “ :unab gl “.

     Mnogo dobra vuzmozhnost na Vi e da mapvate butoni t.e. s edin buton da izvurshite konkretniia deistviia. Mapvaneto se izvurshva s komandata :map x sequence . Sega shte mapnet butona 1 za izhod sus zapis(ZZ) koeto stava s komandata “ :map 1 ZZ “. Ako iskate da mahnete tozi map (:map 1 ZZ) triabva da izpulnite komandata “ :unmap 1 “ . Ako iskate da izvedete spisuk na tekushtite mapove to tova mozhe da izpulnite s komandata “ :map “ . Mozhe da slozhite Vashite map nastroiki vuv Vashiia .exrc fail i kogato izpulnite vi te shte sa aktivni. S pomoshta na VI mozhe da vuvezhdate konkreten tekst kato primera tuk “ :map 1 iI`m your worst nightmare “ kogato natisnete edno se vuvezhda teksta "I`m your worst nighmare" .


<< Montirane na otdalecheni failovi sistemi (vtora chast) | Zarezhdane na udostoveritelski X.509 sertifikati v Psi >>