|
Kratko rukovodstvo za rabota s tekstoviia redaktor Vi
|
|
|
|
|
|
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 >>
|
|
|
|
|
Veliko!!!
Ot: Ventsi
Na: 21-03-2006@18:47 GMT+2
Otsenka: 2/Informirasht
Zadulzhitelno chetivo za nezapoznatite! Vse niakoga shte vi potriabva.
[Otgovori na tozi komentar]
Kum: Veliko!!!
Ot: ivanrd
Na: 21-03-2006@21:48 GMT+2
Otsenka: 1/NeutralenAbe kakvo ne mu haresvate na gedit?
[Otgovori na tozi komentar]
Kum: Veliko!!!
Ot: xemacs
Na: 21-03-2006@23:43 GMT+2
Otsenka: 1/NeutralenKakto shte kazhat niakoi: "SAMO XEMACS" :))
[Otgovori na tozi komentar]
Kum: Kum: Veliko!!!
Ot: Georgi Sotirov <gdsotirov (a) dir< dot >bg>
Na: 22-03-2006@9:04 GMT+2
Otsenka: 1/NeutralenNa Emacs mu lipsvashe samo kalendar s fazite na lunata, no veche i tova si ima ;-) Oshte poveche, che niamam dopulnitelni CTRL i ALT klavishi, za da gi smenia kato se schupiat ot intenzivnata upotreba :-)
I neka fleimut zapochne sega...
[Otgovori na tozi komentar]
Kum: Veliko!!!
Ot: Yasen6275 <ohtya< at >chem< dot >uni-sofia< dot >bg>
Na: 22-03-2006@5:56 GMT+2
Otsenka: 1/NeutralenSumniavam se che pri nalichieto na nano i pico bih sedna l da ucha komandite na edin tolkova antiintuitiven redkator. Za kakvo sa izmisleni butonite PgDn PgUp Home End ako ne za izpolzvane v redaktor. A po-povd formatiraneto na teksta bi mi bilo po lesno da si instaliram niakva grafichna sreda i abilurd ili OOo.
[Otgovori na tozi komentar]
Kum: Kum: Veliko!!!
Ot: Georgi Sotirov <gdsotirov (a) dir __tochka__ bg>
Na: 22-03-2006@7:49 GMT+2
Otsenka: 1/NeutralenVI e za tezi koito ne se pritesnavat da nauchat malko komandi, za da razbotiat sled tova burzo, ama mnogo burzo. I ne razbiram kakvo tolkova "antiintuitivno" ima v komantidite mu? Oshte poveche che vsiaka edna ot tiah ima kakto sukraten taka i dulug variant, koeto ne zabeliazah da e spomenato v statiiata. Taka naprimer
:r !who
mozhe da se zapishe i kato
:read !who
Redaktiran na: 22-03-2006@7:51
[Otgovori na tozi komentar]
Kum: Kum: Veliko!!!
Ot: Bozhan Bozhkov <bozho __@__ issp __tochka__ bas __tochka__ bg>
Na: 22-03-2006@14:09 GMT+2
Otsenka: 1/Neutralen>"Sumniavam se che pri nalichieto na nano i
pico bih sedna l da ucha komandite na edin
tolkova antiintuitiven redkator."
I kato popadnesh na mashina, na koiato niama
nito nano nito piko, a rabotata triabva da e
gotova za predi edin chas, che dazhe i za vchera
- kvo shte pravish togava?
A vi ima na vsiaka yuniks-podobna sistema.
[Otgovori na tozi komentar]
Kum: Kum: Veliko!!!
Ot: daf
Na: 22-03-2006@14:10 GMT+2
Otsenka: 1/NeutralenEdna ot ideite na VI e da mozhe da raboti sus vsiakakvi
terminali. Vklyuchitelno i takiva, koito ne poddurzhat
PgDn/PgUp/Home/End/Up/Down/Left/Right
[Otgovori na tozi komentar]
Perfektno..
Ot: bg_talibana <deep[ tochka ]ocean[ tochka ]mix__at__gmail[ tochka ]com>
Na: 22-03-2006@6:08 GMT+2
Otsenka: 1/NeutralenPosle shte go nazubkam :D
Mnogo polezno!
[Otgovori na tozi komentar]
Vi
Ot: amr
Na: 22-03-2006@6:30 GMT+2
Otsenka: 1/NeutralenYasen6275 Butonite za koito kaza (PageUP..) , to te se izpolzvat vuv Vi .
[Otgovori na tozi komentar]
Kum: Vi
Ot: Hapkoc <sasoiliev __@__ mamul__dot__org>
Na: 22-03-2006@11:51 GMT+2
Otsenka: 1/NeutralenAbe izpolzvat se vuv vim, vuv si ako se ne luzha ne rabotiat osobeno dobre teia butoni.
[Otgovori na tozi komentar]
malko dopulnenie
Ot: Dimiter Trendafilov <dimtren (a) yahoo< dot >com>
Na: 23-03-2006@15:05 GMT+2
Otsenka: 1/NeutralenDrug nachin za zapisvane na komandi, t. nar. makrosi
q{0-9a-zA-Z} - zapisva vuvedenite komandi i tekst v posocheniia bufer. Ako ukazhete bufera s glavna bukva se komandite se dobaviat kum suotvetniia bufer. Povtorno q spira zapisvaneto.
@{0-9a-z} - izpulniava komandite ot posocheniiat bufer.
[Otgovori na tozi komentar]
Ne vinagi ima alternativi
Ot: 100lv
Na: 23-03-2006@15:06 GMT+2
Otsenka: 1/NeutralenPredimstvata da se poznava (polzva) VI sa niakolko:
1. Standartno e nalichen vuv vsichki *NIX bazirani sistemi
2. Ima momenti pri komersialnite sistemi v koito osven VI drug redaktor ne mozhe da se polzva (napr. Maintenance Mode na AIX)
3. Mnogo e burz
4. Po podrazbirane se izpolzva na mnogo mesta i v Linux (napr. crontab -e)
[Otgovori na tozi komentar]
Tazi staiia e tvurde slozhna!!
Ot: Stoian Ivanov <sdr__at__mail __tochka__ bg>
Na: 23-03-2006@21:21 GMT+2
Otsenka: 1/NeutralenVIM se polzva mnogo po-lesno i priiatno otkolkoto izglezhda ot tazi statiia. Viarno e che v statiiata niama greshki osven psihologicheski - kogato chovek izpolzva redaktor za purvi put iska da mozhe da navigira bez slozhno vudu da kopira da tursi i zamestva. Ako mozhe da se bachka s niakolko dzhama ednovremenno mnogo dobre. Vsichko ostiaanalo sa prostoii ot smesvaneto na makro ezika s makrosa - do sega ne mi se e sluchvalo da napisha <esc>14d vinagi sum zaspival na d-to dokato polucha zhelaniia efekt ako sa malko i niama da gi mestia ili <shift>+V navigatsiia d ili y - navigatsiia p ama koi da mi kazhe purvo prostite nesha ... vsichko s mnogo psuvane triabva da se izkopchva ot dokumentatsiiata. Dori i glupaviia tyutorial zapochva puvo s maloumiiata ... no vednuzh kato sviknesh po dokumentite ti redaktirano s drugo chat-pat ima izlishni i-ta i Y-tsi ;)
Redaktiran na: 23-03-2006@21:28
[Otgovori na tozi komentar]
Kum: Tazi staiia e tvurde slozhna!!
Ot: asha <asha< at >ucc__dot__uni-sofia__dot__bg>
Na: 24-03-2006@9:38 GMT+2
Otsenka: 1/NeutralenStatiiata VUOBSHTE NE E slozhna.
Realno VI-to e po-skoro ezik otkolkoto tekstovi redaktor ;). Goliamoto mu predimstvo e izklyuchitelno burzoto boravene s tekstovi failove. Primerno ako sa mi neobhodimi 5ch. za redaktirane na niakakuv dokument, to s VI bih se spravil za 15min. :)
Razbira se, chovek triabva da sedne i da proche/ponauchi malko za redaktora, predi da go izpolzva. Inache, pulno 'rukovodstvo' za VI e ot poriaduka na 500-600 stranitsi (572str.), no SPOKOINO! Dori i da nauchite 20-30% ot vuzmozhnostite na VI, shte mozhete da pravite magii (bez maitap ;) ).
uspeh!
[Otgovori na tozi komentar]
Vi e super redaktor, ne go smeniam!
Ot: fla
Na: 24-03-2006@21:49 GMT+2
Otsenka: 1/Neutralen
Za men Vi e lesen, burz, intuitiven, maluk, tekstov i t.n. - predimstva kolkoto iskash.
Triabva da se ponauchi, za da se polzva efektivno de :)
Inache, dokolkoto zabeliazah v posledniia Debian Testing /etch/ mai go niamashe, a vmesto nego pico, koeto nikak ne mi se haresa :||| :(
[Otgovori na tozi komentar]
Graphical vi/vim Cheat Sheet and Tutorial
Ot: rnaydenov <rnaydenov (a) gmail[ tochka ]com>
Na: 30-03-2006@7:10 GMT+2
Otsenka: 1/NeutralenZa tezi, koito iskat po-lesno da nauchat vi mogat da poglednat na tazi stranitsa
http://viemu.com/a_vi_vim_graphical_che...
[Otgovori na tozi komentar]
Slabo
Ot: Oho Boho
Na: 3-05-2006@8:47 GMT+2
Otsenka: 1/Neutralenpolovinata komandi ne mi rabotiat. Mnogo negramotno e obiasneno!
[Otgovori na tozi komentar]
Mnogo dobra statiia
Ot: Pavlin Georgiev <pavlin__at__varna __tochka__ net>
Na: 11-07-2010@9:36 GMT+2
Otsenka: 2/Informirasht
Statiiata mi pomaga.
Podgotviam se za intervyu za rabota.
Mnogo obichat da pitat vuprosi za redaktora Vi.
[Otgovori na tozi komentar]