ot M.Petrov(AmridikoN/amri)(21-03-2006)
reiting (28)
[ dobre ]
[ zle ]
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 >>
|