blob: d402bc8addd7067e8de90096a5f7ffcc5bf60e33 [file] [log] [blame]
===============================================================================
= Ê áë ù ó Þ ñ è á ô å ó ô ï V I M T u t o r - ¸êäïóç 1.5 =
===============================================================================
Ï Vim åßíáé Ýíáò ðáíßó÷õñïò óõíôÜêôçò ðïõ Ý÷åé ðïëëÝò åíôïëÝò, ðÜñá
ðïëëÝò ãéá íá åîçãÞóïõìå óå ìßá ðåñéÞãçóç üðùò áõôÞ. ÁõôÞ ç ðåñéÞãçóç
ó÷åäéÜóôçêå ãéá íá ðåñéãñÜøåé éêáíïðïéçôéêÜ ôéò åíôïëÝò ðïõ èá óáò
êÜíïõí íá ÷ñçóéìïðïéåßôå åýêïëá ôïí Vim óáí Ýíáí ãåíéêÞò ÷ñÞóçò óõíôÜêôç.
Ï êáôÜ ðñïóÝããéóç ÷ñüíïò ðïõ áðáéôåßôáé ãéá íá ïëïêëçñþóåôå ôçí ðåñéÞãçóç
åßíáé 25-30 ëåðôÜ, åîáñôþíôáò áðü ôï ðüóï ÷ñüíï èá îïäÝøåôå ãéá
ðåéñáìáôéóìïýò.
Ïé åíôïëÝò óôá ìáèÞìáôá èá ôñïðïðïéÞóïõí ôï êåßìåíï. ÄçìéïõñãÞóôå Ýíá
áíôßãñáöï áõôïý ôïõ áñ÷åßïõ ãéá íá åîáóêçèåßôå (áí îåêéíÞóáôå ôï
"Vimtutor" áõôü åßíáé Þäç Ýíá áíôßãñáöï).
Åßíáé óçìáíôéêü íá èõìÜóôå üôé áõôÞ ç ðåñéÞãçóç åßíáé ïñãáíùìÝíç Ýôóé
þóôå íá äéäÜóêåé ìÝóù ôçò ÷ñÞóçò. Áõôü óçìáßíåé üôé ÷ñåéÜæåôáé íá
åêôåëåßôå ôéò åíôïëÝò ãéá íá ôéò ìÜèåôå óùóôÜ. Áí äéáâÜæåôå ìüíï ôï
êåßìåíï, èá ôéò îå÷Üóåôå!
Ôþñá, âåâáéùèåßôå üôé ôï ðëÞêôñï Shift-Lock ÄÅÍ åßíáé ðáôçìÝíï êáé
ðáôÞóôå ôï ðëÞêôñï j áñêåôÝò öïñÝò ãéá íá ìåôáêéíÞóåôå ôïí äñïìÝá Ýôóé
þóôå ôï ÌÜèçìá 1.1 íá ãåìßóåé ðëÞñùò ôçí ïèüíç.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 1.1: ÌÅÔÁÊÉÍÏÍÔÁÓ ÔÏÍ ÄÑÏÌÅÁ
** Ãéá íá êéíÞóåôå ôïí äñïìÝá, ðáôÞóôå ôá ðëÞêôñá h,j,k,l üðùò äåß÷íåôáé. **
^
k Hint: Ôï ðëÞêôñï h åßíáé áñéóôåñÜ êáé êéíåß óô' áñéóôåñÜ.
< h l > Ôï ðëÞêôñï l åßíáé äåîéÜ êáé êéíåß óôá äåîéÜ.
j Ôï ðëÞêôñï j ìïéÜæåé ìå âåëÜêé ðñïò ôá êÜôù.
v
1. Ìåôáêéíåßóôå ôïí äñïìÝá ôñéãýñù óôçí ïèüíç ìÝ÷ñé íá íïéþèåôå Üíåôá.
2. ÊñáôÞóôå ðáôçìÝíï ôï êÜôù ðëÞêôñï (j) ìÝ÷ñé íá åðáíáëçöèåß.
---> Ôþñá îÝñåôå ðþò íá ìåôáêéíçèåßôå óôï åðüìåíï ìÜèçìá.
3. ×ñçóéìïðïéþíôáò ôï êÜôù ðëÞêôñï, ìåôáêéíçèåßôå óôï ÌÜèçìá 1.2.
Óçìåßùóç: Áí áìöéâÜëëåôå ãéá êÜôé ðïõ ðáôÞóáôå, ðáôÞóôå <ESC> ãéá íá âñåèåßôå
óôçí ÊáíïíéêÞ ÊáôÜóôáóç. ÌåôÜ ðáôÞóôå îáíÜ ôçí åíôïëÞ ðïõ èÝëáôå.
Óçìåßùóç: Ôá ðëÞêôñá ôïõ äñïìÝá èá ðñÝðåé åðßóçò íá äïõëåýïõí. ÁëëÜ ìå ôá hjkl
èá ìðïñåßôå íá êéíçèåßôå ðïëý ãñçãïñüôåñá, ìüëéò ôá óõíçèßóåôå.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 1.2: ÌÐÁÉÍÏÍÔÁÓ ÊÁÉ ÂÃÁÉÍÏÍÔÁÓ ÓÔÏÍ VIM
!! ÓÇÌÅÉÙÓÇ: Ðñéí åêôåëÝóåôå êÜðïéï áðü ôá âÞìáôá, äéáâÜóôå üëï ôï ìÜèçìá!!
1. ÐáôÞóôå ôï ðëÞêôñï <ESC> (ãéá íá åßóôå óßãïõñá óôçí ÊáíïíéêÞ ÊáôÜóôáóç).
2. ÐëçêôñïëïãÞóôå: :q! <ENTER>.
---> Áõôü åîÝñ÷åôáé áðü ôïí óõíôÜêôç ×ÙÑÉÓ íá óþóåé üðïéåò áëëáãÝò Ý÷åôå êÜíåé.
Áí èÝëåôå íá óþóåôå ôéò áëëáãÝò êáé íá åîÝñèåôå ðëçêôñïëïãÞóôå:
:wq <ENTER>
3. ¼ôáí äåßôå ôçí ðñïôñïðÞ ôïõ öëïéïý, ðëçêôñïëïãÞóôå ôçí åíôïëÞ ìå ôçí ïðïßá
ìðÞêáôå óå áõôÞí ôçí ðåñéÞãçóç. Ìðïñåß íá åßíáé: vimtutor <ENTER>
ÊáíïíéêÜ èá ÷ñçóéìïðïéïýóáôå: vim tutor <ENTER>
---> 'vim' óçìáßíåé åéóáãùãÞ óôïí óõíôÜêôç vim, 'tutor' åßíáé ôï áñ÷åßï ðïõ
èÝëïõìå íá äéïñèþóïõìå.
4. Áí Ý÷åôå áðïìíçìïíåýóåé áõôÜ ôá âÞìáôá êáé Ý÷åôå áõôïðåðïßèçóç, åêôåëÝóôå
ôá âÞìáôá 1 Ýùò 3 ãéá íá âãåßôå êáé íá ìðåßôå îáíÜ óôïí óõíôÜêôç. ÌåôÜ
ìåôáêéíÞóôå ôïí äñïìÝá êÜôù óôï ÌÜèçìá 1.3.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 1.3: ÄÉÏÑÈÙÓÇ ÊÅÉÌÅÍÏÕ - ÄÉÁÃÑÁÖÇ
** ¼óï åßóôå óôçí ÊáíïíéêÞ ÊáôÜóôáóç ðáôÞóôå x ãéá íá äéáãñÜøåôå ôïí
÷áñáêôÞñá êÜôù áðü ôïí äñïìÝá. **
1. Ìåôáêéíåßóôå ôïí äñïìÝá óôçí ðáñáêÜôù ãñáììÞ óçìåéùìÝíç ìå --->.
2. Ãéá íá äéïñèþóåôå ôá ëÜèç, êéíåßóôå ôïí äñïìÝá ìÝ÷ñé íá åßíáé ðÜíù áðü
ôïí ÷áñáêôÞñá ðïõ èá äéáãñáöåß.
3. ÐáôÞóôå ôï ðëÞêôñï x ãéá íá äéáãñÜøåôå ôïí áíåðéèýìçôï ÷áñáêôÞñá.
4. ÅðáíáëÜâåôå ôá âÞìáôá 2 ìÝ÷ñé 4 ìÝ÷ñé ç ðñüôáóç íá åßíáé óùóôÞ.
---> The ccow jumpedd ovverr thhe mooon.
5. Ôþñá ðïõ ç ãñáììÞ åßíáé óùóôÞ, ðçãáßíôå óôï ÌÜèçìá 1.4.
ÓÇÌÅÉÙÓÇ: Êáèþò äéáôñÝ÷åôå áõôÞí ôçí ðåñéÞãçóç, ðñïóðáèÞóôå íá ìçí
áðïìíçìïíåýåôå, ìáèáßíåôå ìå ôç ÷ñÞóç.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 1.4: ÄÉÏÑÈÙÓÇ ÊÅÉÌÅÍÏÕ - ÐÁÑÅÌÂÏËÇ
** ¼óï åßóôå óå ÊáíïíéêÞ ÊáôÜóôáóç ðáôÞóôå i ãéá íá ðáñåìâÜëëåôå êåßìåíï. **
1. Ìåôáêéíåßóôå ôïí äñïìÝá ìÝ÷ñé ôçí ðñþôç ãñáììÞ ðáñáêÜôù óçìåéùìÝíç ìå --->.
2. Ãéá íá êÜíåôå ôçí ðñþôç ãñáììÞ ßäéá ìå ôçí äåýôåñç, ìåôáêéíåßóôå ôïí
äñïìÝá ðÜíù óôïí ðñþôï ÷áñáêôÞñá ÌÅÔÁ áðü üðïõ èá ðáñåìâëçèåß ôï êåßìåíï.
3. ÐáôÞóôå ôï i êáé ðëçêôñïëïãÞóôå ôéò áðáñáßôçôåò ðñïóèÞêåò.
4. Êáèþò äéïñèþíåôå êÜèå ëÜèïò ðáôÞóôå <ESC> ãéá íá åðéóôñÝøåôå óôçí
ÊáíïíéêÞ ÊáôÜóôáóç. ÅðáíáëÜâåôå ôá âÞìáôá 2 ìÝ÷ñé 4 ãéá íá äéïñèþóåôå
ôçí ðñüôáóç.
---> There is text misng this .
---> There is some text missing from this line.
5. ¼ôáí åßóôå Üíåôïé ìå ôçí ðáñåìâïëÞ êåéìÝíïõ ìåôáêéíçèåßôå óôçí
ðáñáêÜôù ðåñßëçøç.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÁÈÇÌÁ 1 ÐÅÑÉËÇØÇ
1. Ï äñïìÝáò êéíåßôáé ÷ñçóéìïðïéþíôáò åßôå ôá ðëÞêôñá äñïìÝá Þ ôá hjkl.
h (áñéóôÝñá) j (êÜôù) k (ðÜíù) l (äåîéÜ)
2. Ãéá íá ìðåßôå óôïí Vim (áðü ôçí ðñïôñïðÞ %) ãñÜøôå: vim ÁÑ×ÅÉÏ <ENTER>
3. Ãéá íá âãåßôå ãñÜøôå: <ESC> :q! <ENTER> ãéá áðüññéøç ôùí áëëáãþí.
¹ ãñÜøôå: <ESC> :wq <ENTER> ãéá áðïèÞêåõóç ôùí áëëáãþí.
4. Ãéá íá äéáãñÜøåôå Ýíáí ÷áñáêôÞñá êÜôù áðü ôïí äñïìÝá óå
ÊáíïíéêÞ ÊáôÜóôáóç ðáôÞóôå: x
5. Ãéá íá åéóÜãåôå êåßìåíï óôïí äñïìÝá üóï åßóôå óå ÊáíïíéêÞ ÊáôÜóôáóç ãñÜøôå:
i ðëçêôñïëïãÞóôå ôï êåßìåíï <ESC>
ÓÇÌÅÉÙÓÇ: Ðáôþíôáò <ESC> èá ôïðïèåôçèåßôå óôçí ÊáíïíéêÞ ÊáôÜóôáóç Þ èá
áêõñþóåôå ìßá áíåðéèýìçôç êáé ìåñéêþò ïëïêëçñùìÝíç åíôïëÞ.
Ôþñá óõíå÷ßóôå ìå ôï ÌÜèçìá 2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 2.1: ÅÍÔÏËÅÓ ÄÉÁÃÑÁÖÇÓ
** ÃñÜøôå dw ãéá íá äéáãñÜøåôå ìÝ÷ñé ôï ôÝëïò ìßáò ëÝîçò. **
1. ÐáôÞóôå <ESC> ãéá íá âåâáéùèåßôå üôé åßóôå óôçí ÊáíïíéêÞ ÊáôÜóôáóç.
2. Ìåôáêéíåßóôå ôïí äñïìÝá óôçí ðáñáêÜôù ãñáììÞ óçìåéùìÝíç ìå --->.
3. Ðçãáßíåôå ôïí äñïìÝá óôçí áñ÷Þ ôçò ëÝîçò ðïõ ðñÝðåé íá äéáãñáöåß.
4. ÃñÜøôå dw ãéá íá êÜíåôå ôçí ëÝîç íá åîáöáíéóôåß.
ÓÇÌÅÉÙÓÇ: Ôá ãñÜììáôá dw èá åìöáíéóôïýí óôçí ôåëåõôáßá ãñáììÞ ôçò ïèüíçò üóï
ôá ðëçêôñïëïãåßôå. Áí ãñÜøáôå êÜôé ëÜèïò, ðáôÞóôå <ESC> êáé
îåêéíÞóôå áðü ôçí áñ÷Þ.
---> There are a some words fun that don't belong paper in this sentence.
5. ÅðáíáëÜâåôå ôá âÞìáôá 3 êáé 4 ìÝ÷ñé ç ðñüôáóç íá åßíáé óùóôÞ êáé
ðçãáßíåôå óôï ÌÜèçìá 2.2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 2.2: ÐÅÑÉÓÓÏÔÅÑÅÓ ÅÍÔÏËÅÓ ÄÉÁÃÑÁÖÇÓ
** ÐëçêôñïëïãÞóôå d$ ãéá íá äéáãñÜøåôå ìÝ÷ñé ôï ôÝëïò ôçò ãñáììÞò. **
1. ÐáôÞóôå <ESC> ãéá íá âåâáéùèåßôå üôé åßóôå óôçí ÊáíïíéêÞ ÊáôÜóôáóç.
2. Ìåôáêéíåßóôå ôïí äñïìÝá óôçí ðáñáêÜôù ãñáììÞ óçìåéùìÝíç ìå --->.
3. Ìåôáêéíåßóôå ôïí äñïìÝá óôï ôÝëïò ôçò óùóôÞò ãñáììÞò (ÌÅÔÁ ôçí ðñþôç . ).
4. ÐáôÞóôå d$ ãéá íá äéáãñÜøåôå ìÝ÷ñé ôï ôÝëïò ôçò ãñáììÞò.
---> Somebody typed the end of this line twice. end of this line twice.
5. Ðçãáßíåôå óôï ÌÜèçìá 2.3 ãéá íá êáôáëÜâåôå ôé óõìâáßíåé.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 2.3: ÐÅÑÉ ÅÍÔÏËÙÍ ÊÁÉ ÁÍÔÉÊÅÉÌÅÍÙÍ
Ç ìïñöÞ ôçò åíôïëÞò äéáãñáöÞò d åßíáé ùò åîÞò:
[áñéèìüò] d áíôéêåßìåíï ¹ d [áñéèìüò] áíôéêåßìåíï
¼ðïõ:
áñéèìüò - ðüóåò öïñÝò èá åêôåëåóôåß ç åíôïëÞ (ðñïáéñåôéêü, åî' ïñéóìïý=1).
d - ç åíôïëÞ ôçò äéáãñáöÞò.
áíôéêåßìåíï - ðÜíù óå ôé èá ëåéôïõñãÞóåé ç åíôïëÞ (ðáñáêÜôù ëßóôá).
Ìßá ìéêñÞ ëßóôá áðü áíôéêåßìåíá:
w - áðü ôïí äñïìÝá ìÝ÷ñé ôï ôÝëïò ôçò ëÝîçò, ðåñéëáìâÜíïíôáò ôï äéÜóôçìá.
e - áðü ôïí äñïìÝá ìÝ÷ñé ôï ôÝëïò ôçò ëÝîçò, ×ÙÑÉÓ ôï äéÜóôçìá.
$ - áðü ôïí äñïìÝá ìÝ÷ñé ôï ôÝëïò ôçò ãñáììÞò.
ÓÇÌÅÉÙÓÇ: Ãéá ôïõò ôýðïõò ôçò ðåñéðÝôåéáò, ðáôþíôáò áðëþò ôï áíôéêåßìåíï üóï
åßóôå óôçí ÊáíïíéêÞ ÊáôÜóôáóç ÷ùñßò êÜðïéá åíôïëÞ èá ìåôáêéíÞóåôå
ôïí äñïìÝá üðùò êáèïñßæåôáé óôçí ëßóôá áíôéêåéìÝíùí.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 2.4: ÌÉÁ ÅÎÁÉÑÅÓÇ ÓÔÇÍ 'ÅÍÔÏËÇ-ÁÍÔÉÊÅÉÌÅÍÏ'
** ÐëçêôñïëïãÞóôå dd ãéá íá äéáãñÜøåôå üëç ôç ãñáììÞ. **
Åîáéôßáò ôçò óõ÷íüôçôáò ôçò äéáãñáöÞò ïëüêëçñçò ãñáììÞò, ïé ó÷åäéáóôÝò
ôïõ Vim áðïöÜóéóáí üôé èá Þôáí åõêïëüôåñï íá ãñÜöåôå áðëþò äýï d óôç
óåéñÜ ãéá íá äéáãñÜøåôå ìßá ãñáììÞ.
1. Ìåôáêéíåßóôå ôïí äñïìÝá óôç äåýôåñç ãñáììÞ ôçò ðáñáêÜôù öñÜóçò.
2. ÃñÜøôå dd ãéá íá äéáãñÜøåôå ôç ãñáììÞ.
3. Ôþñá ìåôáêéíçèåßôå óôçí ôÝôáñôç ãñáììÞ.
4. ÃñÜøôå 2dd (èõìçèåßôå áñéèìüò-åíôïëÞ-áíôéêåßìåíï) ãéá íá
äéáãñÜøåôå äýï ãñáììÝò.
1) Roses are red,
2) Mud is fun,
3) Violets are blue,
4) I have a car,
5) Clocks tell time,
6) Sugar is sweet
7) And so are you.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 2.5: Ç ÅÍÔÏËÇ ÁÍÁÉÑÅÓÇÓ
** ÐáôÞóôå u ãéá íá áíáéñÝóåôå ôéò ôåëåõôáßåò åíôïëÝò,
U ãéá íá äéïñèþóåôå üëç ôç ãñáììÞ. **
1. Ìåôáêéíåßóôå ôïí äñïìÝá óôçí ðáñáêÜôù ãñáììÞ óçìåéùìÝíç ìå ---> êáé
ôïðïèåôÞóôå ôïí ðÜíù óôï ðñþôï ëÜèïò.
2. ÐáôÞóôå x ãéá íá äéáãñÜøåôå ôïí ðñþôï áíåðéèýìçôï ÷áñáêôÞñá.
3. Ôþñá ðáôÞóôå u ãéá íá áíáéñÝóåôå ôçí ôåëåõôáßá åêôåëåóìÝíç åíôïëÞ.
4. ÁõôÞ ôç öïñÜ äéïñèþóôå üëá ôá ëÜèç óôç ãñáììÞ ÷ñçóéìïðïéþíôáò ôçí åíôïëÞ x.
5. Ôþñá ðáôÞóôå Ýíá êåöáëáßï U ãéá íá åðéóôñÝøåôå ôç ãñáììÞ óôçí áñ÷éêÞ
ôçò êáôÜóôáóç.
6. Ôþñá ðáôÞóôå u ìåñéêÝò öïñÝò ãéá íá áíáéñÝóåôå ôçí U êáé
ðñïçãïýìåíåò åíôïëÝò.
7. Ôþñá ðáôÞóôå CTRL-R (êñáôþíôáò ðáôçìÝíï ôï ðëÞêôñï CTRL êáèþò ðáôÜôå ôï R)
ìåñéêÝò öïñÝò ãéá íá åðáíáöÝñåôå ôéò åíôïëÝò (áíáßñåóç ôùí áíáéñÝóåùí).
---> Fiix the errors oon thhis line and reeplace them witth undo.
8. ÁõôÝò åßíáé ðïëý ÷ñÞóéìåò åíôïëÝò. Ôþñá ðçãáßíåôå óôçí
Ðåñßëçøç ôïõ ÌáèÞìáôïò 2.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÁÈÇÌÁ 2 ÐÅÑÉËÇØÇ
1. Ãéá íá äéáãñÜøåôå áðü ôïí äñïìÝá ìÝ÷ñé ôï ôÝëïò ëÝîçò ãñÜøôå: dw
2. Ãéá íá äéáãñÜøåôå áðü ôïí äñïìÝá ìÝ÷ñé ôï ôÝëïò ãñáììÞò ãñÜøôå: d$
3. Ãéá íá äéáãñÜøåôå ïëüêëçñç ôç ãñáììÞ ãñÜøôå: dd
4. Ç ìïñöÞ ãéá ìßá åíôïëÞ óôçí ÊáíïíéêÞ ÊáôÜóôáóç åßíáé:
[áñéèìüò] åíôïëÞ áíôéêåßìåíï ¹ åíôïëÞ [áñéèìüò] áíôéêåßìåíï
üðïõ:
áñéèìüò - ðüóåò öïñÝò íá åðáíáëçöèåß ç åíôïëÞ
åíôïëÞ - ôé íá ãßíåé, üðùò ç d ãéá äéáãñáöÞ
áíôéêåßìåíï - ðÜíù óå ôé íá åíåñãÞóåé ç åíôïëÞ, üðùò w (ëÝîç),
$ (ôÝëïò ôçò ãñáììÞò), êôë.
5. Ãéá íá áíáéñÝóåôå ðñïçãïýìåíåò åíÝñãåéåò, ðáôÞóôå: u (ðåæü u)
Ãéá íá áíáéñÝóåôå üëåò ôéò áëëáãÝò óôç ãñáììÞ, ðáôÞóôå: U (êåöáëáßï U)
Ãéá íá áíáéñÝóåôå ôéò áíáéñÝóåéò, ðáôÞóôå: CTRL-R
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 3.1: Ç ÅÍÔÏËÇ ÔÏÐÏÈÅÔÇÓÇÓ
** ÐáôÞóôå p ãéá íá ôïðïèåôÞóåôå ôçí ôåëåõôáßá äéáãñáöÞ ìåôÜ ôïí äñïìÝá. **
1. Ìåôáêéíåßóôå ôïí äñïìÝá óôçí ðñþôç ãñáììÞ ôçò ðáñáêÜôù ïìÜäáò.
2. ÐáôÞóôå dd ãéá íá äéáãñÜøåôå ôç ãñáììÞ êáé íá ôçí áðïèçêåýóåôå óå
ðñïóùñéíÞ ìíÞìç ôïõ Vim.
3. Ìåôáêéíåßóôå ôïí äñïìÝá óôç ãñáììÞ ÐÁÍÙ áðü åêåß ðïõ èá ðñÝðåé íá ðÜåé
ç äéáãñáììÝíç ãñáììÞ.
4. ¼óï åßóôå óå ÊáíïíéêÞ ÊáôÜóôáóç, ðáôÞóôå p ãéá íá âÜëåôå ôç ãñáììÞ.
5. ÅðáíáëÜâåôå ôá âÞìáôá 2 Ýùò 4 ãéá íá âÜëåôå üëåò ôéò ãñáììÝò óôç
óùóôÞ óåéñÜ.
d) Can you learn too?
b) Violets are blue,
c) Intelligence is learned,
a) Roses are red,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 3.2: Ç ÅÍÔÏËÇ ÁÍÔÉÊÁÔÁÓÔÁÓÇÓ
** ÐáôÞóôå r êáé ÷áñáêôÞñá ãéá íá áëëÜîåôå áõôüí ðïõ åßíáé
êÜôù áðü ôïí äñïìÝá. **
1. Ìåôáêéíåßóôå ôïí äñïìÝá óôçí ðñþôç ãñáììÞ ðáñáêÜôù óçìåéùìÝíç ìå --->.
2. Ìåôáêéíåßóôå ôïí äñïìÝá Ýôóé þóôå íá åßíáé ðÜíù óôï ðñþôï ëÜèïò.
3. ÐáôÞóôå r êáé ìåôÜ ôïí ÷áñáêôÞñá ï ïðïßïò äéïñèþíåé ôï ëÜèïò.
4. ÅðáíáëÜâåôå ôá âÞìáôá 2 êáé 3 ìÝ÷ñé íá åßíáé óùóôÞ ç ðñþôç ãñáììÞ.
---> Whan this lime was tuoed in, someone presswd some wrojg keys!
---> When this line was typed in, someone pressed some wrong keys!
5. Ôþñá ðçãáßíåôå óôï ÌÜèçìá 3.2.
ÓÇÌÅÉÙÓÇ: Íá èõìÜóôå üôé ðñÝðåé íá ìáèáßíåôå ìå ôç ÷ñÞóç, êáé ü÷é ìå
ôçí áðïìíçìüíåõóç.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 3.3: Ç ÅÍÔÏËÇ ÁËËÁÃÇÓ
** Ãéá íá áëëÜîåôå ôìÞìá Þ üëç ôç ëÝîç, ðáôÞóôå cw . **
1. Ìåôáêéíåßóôå ôïí äñïìÝá óôçí ðñþôç ãñáììÞ ðáñáêÜôù óçìåéùìÝíç ìå --->.
2. ÔïðïèåôÞóôå ôïí äñïìÝá ðÜíù óôï u ôçò ëÝîçò lubw.
3. ÐáôÞóôå cw êáé ôç óùóôÞ ëÝîç (óôçí ðåñßðôùóç áõôÞ, ãñÜøôå 'ine'.)
4. ÐáôÞóôå <ESC> êáé ðçãáßíåôå óôï åðüìåíï ëÜèïò (óôïí ðñþôï
÷áñáêôÞñá ðñïò áëëáãÞ).
5. ÅðáíáëÜâåôå ôá âÞìáôá 3 êáé 4 ìÝ÷ñéò üôïõ ç ðñþôç ðñüôáóç íá åßíáé
ßäéá ìå ôç äåýôåñç.
---> This lubw has a few wptfd that mrrf changing usf the change command.
---> This line has a few words that need changing using the change command.
Ðáñáôçñåßóôå üôé ç cw ü÷é ìüíï áíôéêáèéóôÜåé ôç ëÝîç, áëëÜ óáò åéóÜãåé
åðßóçò óå ðáñåìâïëÞ.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 3.4: ÐÅÑÉÓÓÏÔÅÑÅÓ ÁËËÁÃÅÓ ÌÅ c
** Ç åíôïëÞ áëëáãÞò ÷ñçóéìïðïéåßôáé ìå ôá ßäéá áíôéêåßìåíá ôçò äéáãñáöÞò. **
1. Ç åíôïëÞ áëëáãÞò äïõëåýåé ìå ôïí ßäéï ôñüðï üðùò ç äéáãñáöÞ. Ç ìïñöÞ åßíáé:
[áñéèìüò] c áíôéêåßìåíï ¹ c [áñéèìüò] áíôéêåßìåíï
2. Ôá áíôéêåßìåíá åßíáé ðÜëé ôá ßäéá, üðùò w (ëÝîç), $ (ôÝëïò ãñáììÞò), êôë.
3. Ìåôáêéíçèåßôå óôçí ðñþôç ãñáììÞ ðáñáêÜôù óçìåéùìÝíç ìå --->.
4. Ìåôáêéíåßóôå ôïí äñïìÝá óôï ðñþôï ëÜèïò.
5. ÃñÜøôå c$ ãéá íá êÜíåôå ôï õðüëïéðï ôçò ãñáììÞò ßäéï ìå ôç äåýôåñç
êáé ðáôÞóôå <ESC>.
---> The end of this line needs some help to make it like the second.
---> The end of this line needs to be corrected using the c$ command.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÁÈÇÌÁ 3 ÐÅÑÉËÇØÇ
1. Ãéá íá ôïðïèåôÞóåôå êåßìåíï ðïõ ìüëéò Ý÷åé äéáãñáöåß, ðáôÞóôå p .
Áõôü ôïðïèåôåß ôï äéáãñáììÝíï êåßìåíï ÌÅÔÁ ôïí äñïìÝá (áí äéáãñÜöôçêå
ãñáììÞ èá ðÜåé ìåôÜ óôç ãñáììÞ êÜôù áðü ôïí äñïìÝá.
2. Ãéá íá áíôéêáôáóôÞóåôå ôïí ÷áñáêôÞñá êÜôù áðü ôïí äñïìÝá, ðáôÞóôå r
êáé ìåôÜ ôïí ÷áñáêôÞñá ðïõ èá áíôéêáôáóôÞóåé ôïí áñ÷éêü.
3. Ç åíôïëÞ áëëáãÞò óáò åðéôñÝðåé íá áëëÜîåôå ôï êáèïñéóìÝíï áíôéêåßìåíï
áðü ôïí äñïìÝá ìÝ÷ñé ôï ôÝëïò ôïõ áíôéêåßìåíï. Ð.÷. ãñÜøôå cw ãéá íá
áëëÜîåôå áðü ôïí äñïìÝá ìÝ÷ñé ôï ôÝëïò ôçò ëÝîçò, c$ ãéá íá áëëÜîåôå
ìÝ÷ñé ôï ôÝëïò ãñáììÞò.
4. Ç ìïñöÞ ãéá ôçí áëëáãÞ åßíáé:
[áñéèìüò] c áíôéêåßìåíï ¹ c [áñéèìüò] áíôéêåßìåíï
Ôþñá óõíå÷ßóôå ìå ôï åðüìåíï ìÜèçìá.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 4.1: ÈÅÓÇ ÊÁÉ ÊÁÔÁÓÔÁÓÇ ÁÑ×ÅÉÏÕ
** ÐáôÞóôå CTRL-g ãéá íá åìöáíéóôåß ç èÝóç óáò óôï áñ÷åßï êáé ç êáôÜóôáóÞ ôïõ.
ÐáôÞóôå SHIFT-G ãéá íá ðÜôå óå ìßá ãñáììÞ óôï áñ÷åßï. **
Óçìåßùóç: ÄéáâÜóôå ïëüêëçñï ôï ìÜèçìá ðñéí åêôåëÝóåôå êÜðïéï áðü ôá âÞìáôá!!
1. ÊñáôÞóôå ðáôçìÝíï ôï ðëÞêôñï Ctrl êáé ðáôÞóôå g . Ìßá ãñáììÞ êáôÜóôáóçò
èá åìöáíéóôåß óôï êÜôù ìÝñïò ôçò óåëßäáò ìå ôï üíïìá áñ÷åßïõ êáé ôç
ãñáììÞ ðïõ åßóôå. Èõìçèåßôå ôïí áñéèìü ãñáììÞò ãéá ôï ÂÞìá 3.
2. ÐáôÞóôå shift-G ãéá íá ìåôáêéíçèåßôå óôï ôÝëïò ôïõ áñ÷åßïõ.
3. ÐáôÞóôå ôïí áñéèìü ôçò ãñáììÞò ðïõ Þóáóôáí êáé ìåôÜ shift-G. Áõôü èá
óáò åðéóôñÝøåé óôç ãñáììÞ ðïõ Þóáóôáí ðñéí ðáôÞóåôå ãéá ðñþôç öïñÜ Ctrl-g.
(¼ôáí ðëçêôñïëïãåßôå ôïõò áñéèìïýò, ÄÅÍ èá åìöáíßæïíôáé óôçí ïèüíç).
4. Áí íïéþèåôå óßãïõñïò ãéá áõôü, åêôåëÝóôå ôá âÞìáôá 1 Ýùò 3.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 4.2: Ç ÅÍÔÏËÇ ÁÍÁÆÇÔÇÓÇÓ
** ÐáôÞóôå / áêïëïõèïýìåíï áðü ôç öñÜóç ðïõ øÜ÷íåôå. **
1. Óå ÊáíïíéêÞ ÊáôÜóôáóç ðáôÞóôå ôïí ÷áñáêôÞñá / . ÐáñáôçñÞóôå üôé áõôüò êáé
ï äñïìÝáò åìöáíßæïíôáé óôï êÜôù ìÝñïò ôçò ïèüíçò üðùò ìå ôçí åíôïëÞ : .
2. Ôþñá ãñÜøôå 'errroor' <ENTER>. ÁõôÞ åßíáé ç ëÝîç ðïõ èÝëåôå íá øÜîåôå.
3. Ãéá íá øÜîåôå îáíÜ ãéá ôçí ßäéá öñÜóç, ðáôÞóôå áðëþò n .
Ãéá íá øÜîåôå ôçí ßäéá öñÜóç óôçí áíôßèåôç êáôåýèõíóç, ðáôÞóôå Shift-N .
4. Áí èÝëåôå íá øÜîåôå ãéá ìßá öñÜóç ðñïò ôá ðßóù, ÷ñçóéìïðïéÞóôå ôçí åíôïëÞ ? áíôß ôçò / .
---> ¼ôáí ç áíáæÞôçóç öôÜóåé óôï ôÝëïò ôïõ áñ÷åßïõ èá óõíå÷ßóåé áðü ôçí áñ÷Þ.
"errroor" is not the way to spell error; errroor is an error.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 4.3: ÅÕÑÅÓÇ ÔÁÉÑÉÁÓÔÙÍ ÐÁÑÅÍÈÅÓÅÙÍ
** ÐáôÞóôå % ãéá íá âñåßôå ôçí áíôßóôïé÷ç ), ], Þ } . **
1. ÔïðïèåôÞóôå ôïí äñïìÝá óå êÜðïéá (, [, Þ { óôçí ðáñáêÜôù ãñáììÞ
óçìåéùìÝíç ìå --->.
2. Ôþñá ðáôÞóôå ôïí ÷áñáêôÞñá % .
3. Ï äñïìÝáò èá ðñÝðåé íá åßíáé óôçí áíôßóôïé÷ç ðáñÝíèåóç Þ áãêýëç.
4. ÐáôÞóôå % ãéá íá ìåôáêéíÞóåôå ôïí äñïìÝá ðßóù óôçí ðñþôç áãêýëç
(ôïõ æåõãáñéïý).
---> This ( is a test line with ('s, ['s ] and {'s } in it. ))
ÓÇÌÅÉÙÓÇ: Áõôü åßíáé ðïëý ÷ñÞóéìï óôçí áðïóöáëìÜôùóç åíüò ðñïãñÜììáôïò
ìå ìç ôáéñéáóôÝò ðáñåíèÝóåéò!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 4.4: ÅÍÁÓ ÔÑÏÐÏÓ ÃÉÁ ÁËËÁÃÇ ËÁÈÙÍ
** ÃñÜøôå :s/old/new/g ãéá íá áëëÜîåôå ôï 'new' ìå ôï 'old'. **
1. Ìåôáêéíåßóôå ôïí äñïìÝá óôçí ðáñáêÜôù ãñáììÞ óçìåéùìÝíç ìå --->.
2. ÃñÜøôå :s/thee/the <ENTER> . Óçìåéþóôå üôé áõôÞ ç åíôïëÞ áëëÜæåé ìüíï
ôçí ðñþôç åìöÜíéóç óôç ãñáììÞ.
3. Ôþñá ãñÜøôå :s/thee/the/g åííïþíôáò ãåíéêÞ áíôéêáôÜóôáóç óôç
ãñáììÞ. Áõôü áëëÜæåé üëåò ôéò åìöáíßóåéò åðß ôçò ãñáììÞò.
---> thee best time to see thee flowers is in thee spring.
4. Ãéá íá áëëÜîåôå êÜèå åìöÜíéóç ìßáò óõìâïëïóåéñÜò ìåôáîý äýï ãñáììþí,
ãñÜøôå :#,#s/old/new/g üðïõ #,# ïé áñéèìïß ôùí äýï ãñáììþí.
ÃñÜøôå :%s/old/new/g ãéá íá áëëÜîåôå êÜèå åìöÜíéóç óå üëï ôï áñ÷åßï.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÁÈÇÌÁ 4 ÐÅÑÉËÇØÇ
1. Ôï Ctrl-g åìöáíßæåé ôç èÝóç óáò óôï áñ÷åßï êáé ôçí êáôÜóôáóÞ ôïõ.
Ôï Shift-G ðçãáßíåé óôï ôÝëïò ôïõ áñ÷åßïõ. ¸íáò áñéèìüò ãñáììÞò
áêïëïõèïýìåíïò áðü Shift-G ðçãáßíåé óå åêåßíç ôç ãñáììÞ.
2. ÃñÜöïíôáò / áêïëïõèïýìåíï áðü ìßá öñÜóç øÜ÷íåé ðñïò ôá ÌÐÑÏÓÔÁ ãéá
ôç öñÜóç. ÃñÜöïíôáò ? áêïëïõèïýìåíï áðü ìßá öñÜóç øÜ÷íåé ðñïò ôá ÐÉÓÙ
ãéá ôç öñÜóç. ÌåôÜ áðü ìßá áíáæÞôçóç ðáôÞóôå n ãéá íá âñåßôå ôçí
åðüìåíç åìöÜíéóç ðñïò ôçí ßäéá êáôåýèõíóç Þ Shift-N ãéá íá øÜîåôå
ðñïò ôçí áíôßèåôç êáôåýèõíóç.
3. Ðáôþíôáò % üóï ï äñïìÝáò åßíáé ðÜíù óå ìßá (,),[,],{, Þ } åíôïðßæåé
ôï áíôßóôïé÷ï ôáßñé ôïõ æåõãáñéïý.
4. Ãéá áíôéêáôÜóôáóç ìå new ôïõ ðñþôïõ old óôç ãñáììÞ ãñÜøôå :s/old/new
Ãéá áíôéêáôÜóôáóç ìå new üëùí ôùí 'old' óôç ãñáììÞ ãñÜøôå :s/old/new/g
Ãéá áíôéêáôÜóôáóç öñÜóåùí ìåôáîý äýï # ãñáììþí ãñÜøôå :#,#s/old/new/g
Ãéá áíôéêáôÜóôáóç üëùí ôùí åìöáíßóåùí óôï áñ÷åßï ãñÜøôå :%s/old/new/g
Ãéá åñþôçóç åðéâåâáßùóçò êÜèå öïñÜ ðñïóèÝóôå Ýíá 'c' "%s/old/new/gc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 5.1: ÐÙÓ ÅÊÔÅËÙ ÌÉÁ ÅÎÙÔÅÑÉÊÇ ÅÍÔÏËÇ
** ÃñÜøôå :! áêïëïõèïýìåíï áðü ìßá åîùôåñéêÞ åíôïëÞ ãéá íá ôçí åêôåëÝóåôå. **
1. ÐáôÞóôå ôçí ïéêåßá åíôïëÞ : ãéá íá èÝóåôå ôïí äñïìÝá óôï êÜôù ìÝñïò
ôçò ïèüíçò. Áõôü óáò åðéôñÝðåé íá äþóåôå ìßá åíôïëÞ.
2. Ôþñá ðáôÞóôå ôï ! (èáõìáóôéêü). Áõôü óáò åðéôñÝðåé íá åêôåëÝóåôå
ïðïéáäÞðïôå åîùôåñéêÞ åíôïëÞ ôïõ öëïéïý.
3. Óáí ðáñÜäåéãìá ãñÜøôå ls ìåôÜ áðü ôï ! êáé ðáôÞóôå <ENTER>. Áõôü èá
óáò åìöáíßóåé ìßá ëßóôá ôïõ êáôáëüãïõ óáò, áêñéâþò óáí íá Þóáóôáí óôçí
ðñïôñïðÞ ôïõ öëïéïý. ¹ ÷ñçóéìïðïéÞóôå :!dir áí ôï ls äåí äïõëåýåé.
---> Óçìåßùóç: Åßíáé äõíáôüí íá åêôåëÝóåôå ïðïéáäÞðïôå åîùôåñéêÞ åíôïëÞ
ìå áõôüí ôïí ôñüðï.
---> Óçìåßùóç: ¼ëåò ïé åíôïëÝò : ðñÝðåé íá ôåñìáôßæïíôáé ðáôþíôáò ôï <ENTER>.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 5.2: ÐÅÑÉÓÓÏÔÅÑÁ ÐÅÑÉ ÅÃÃÑÁÖÇÓ ÁÑ×ÅÉÙÍ
** Ãéá íá óþóåôå ôéò áëëÜãåò ðïõ êÜíáôå óôï áñ÷åßï, ãñÜøôå :w ÁÑ×ÅÉÏ. **
1. ÃñÜøôå :!dir Þ :!ls ãéá íá ðÜñåôå ìßá ëßóôá ôïõ êáôáëüãïõ óáò.
¹äç îÝñåôå üôé ðñÝðåé íá ðáôÞóåôå <ENTER> ìåôÜ áðü áõôü.
2. ÄéáëÝîôå Ýíá üíïìá áñ÷åßïõ ðïõ äåí õðÜñ÷åé áêüìá, üðùò ôï TEST.
3. Ôþñá ãñÜøôå: :w TEST (üðïõ TEST åßíáé ôï üíïìá áñ÷åßïõ ðïõ äéáëÝîáôå).
4. Áõôü óþæåé üëï ôï áñ÷åßï (vim Tutor) ìå ôï üíïìá TEST. Ãéá íá ôï
åðáëçèåýóåôå, ãñÜøôå îáíÜ :!dir ãéá íá äåßôå ôïí êáôÜëïãü óáò.
---> Óçìåéþóôå üôé áí âãáßíáôå áðü ôïí Vim êáé ìðáßíáôå îáíÜ ìå ôï üíïìá
áñ÷åßïõ TEST, ôï áñ÷åßï èá Þôáí áêñéâÝò áíôßãñáöï ôïõ tutor üôáí ôï óþóáôå.
5. Ôþñá äéáãñÜøôå ôï áñ÷åßï ãñÜöïíôáò (MS-DOS): :!del TEST
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 5.3: ÅÐÉËÅÊÔÉÊÇ ÅÍÔÏËÇ ÅÃÃÑÁÖÇÓ
** Ãéá íá óþóåôå ôìÞìá ôïõ áñ÷åßïõ, ãñÜøôå :#,# w ÁÑ×ÅÉÏ **
1. ¶ëëç ìéá öïñÜ, ãñÜøôå :!dir Þ :!ls ãéá íá ðÜñåôå ìßá ëßóôá áðü ôïí
êáôÜëïãü óáò êáé äéáëÝîôå Ýíá êáôÜëëçëï üíïìá áñ÷åßïõ üðùò ôï TEST.
2. Ìåôáêéíåßóôå ôïí äñïìÝá óôï ðÜíù ìÝñïò áõôÞò ôçò óåëßäáò êáé ðáôÞóôå
Ctrl-g ãéá íá âñåßôå ôïí áñéèìü áõôÞò ôçò ãñáììÞò.
ÍÁ ÈÕÌÁÓÔÅ ÁÕÔÏÍ ÔÏÍ ÁÑÉÈÌÏ!
3. Ôþñá ðçãáßíåôå óôï êÜôù ìÝñïò ôçò óåëßäáò êáé ðáôÞóôå Ctrl-g îáíÜ.
ÍÁ ÈÕÌÁÓÔÅ ÊÁÉ ÁÕÔÏÍ ÔÏÍ ÁÑÉÈÌÏ!
4. Ãéá íá óþóåôå ÌÏÍÏ Ýíá ôìÞìá óå áñ÷åßï, ãñÜøôå :#,# w TEST
üðïõ #,# ïé äýï áñéèìïß ðïõ áðïìíçìïíåýóáôå (ðÜíù,êÜôù) êáé TEST ôï
üíïìá ôïõ áñ÷åßïõ óáò.
5. ÎáíÜ, äåßôå üôé ôï áñ÷åßï åßíáé åêåß ìå ôçí :!dir áëëÜ ÌÇÍ ôï äéáãñÜøåôå.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 5.4: ÁÍÁÊÔÙÍÔÁÓ ÊÁÉ ÅÍÙÍÏÍÔÁÓ ÁÑ×ÅÉÁ
** Ãéá íá åéóÜãåôå ôá ðåñéå÷üìåíá åíüò áñ÷åßïõ, ãñÜøôå :r ÁÑ×ÅÉÏ **
1. ÃñÜøôå :!dir ãéá íá âåâáéùèåßôå üôé ôï TEST õðÜñ÷åé áðü ðñéí.
2. ÔïðïèåôÞóôå ôïí äñïìÝá óôï ðÜíù ìÝñïò ôçò óåëßäáò.
ÓÇÌÅÉÙÓÇ: Áöüôïõ åêôåëÝóåôå ôï ÂÞìá 3 èá äåßôå ôï ÌÜèçìá 5.3.
ÌåôÜ êéíçèåßôå ÊÁÔÙ îáíÜ ðñïò ôï ìÜèçìá áõôü.
3. Ôþñá áíáêôÞóôå ôï áñ÷åßï óáò TEST ÷ñçóéìïðïéþíôáò ôçí åíôïëÞ :r TEST
üðïõ TEST åßíáé ôï üíïìá ôïõ áñ÷åßïõ.
ÓÇÌÅÉÙÓÇ: Ôï áñ÷åßï ðïõ áíáêôÜôå ôïðïèåôåßôáé îåêéíþíôáò åêåß ðïõ âñßóêåôáé
ï äñïìÝáò.
4. Ãéá íá åðáëçèåýóåôå üôé ôï áñ÷åßï áíáêôÞèçêå, ðßóù ôïí äñïìÝá êáé
ðáñáôçñÞóôå üôé õðÜñ÷ïõí ôþñá äýï áíôßãñáöá ôïõ ÌáèÞìáôïò 5.3, ôï
áñ÷éêü êáé ç Ýêäïóç ôïõ áñ÷åßïõ.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÁÈÇÌÁ 5 ÐÅÑÉËÇØÇ
1. :!åíôïëÞ åêôåëåß ìßá åîùôåñéêÞ åíôïëÞ.
ÌåñéêÜ ÷ñÞóéìá ðáñáäåßãìáôá åßíáé (MS-DOS):
:!dir - åìöÜíéóç ëßóôáò åíüò êáôáëüãïõ.
:!del ÁÑ×ÅÉÏ - äéáãñÜöåé ôï ÁÑ×ÅÉÏ.
2. :w ÁÑ×ÅÉÏ ãñÜöåé ôï ôñÝ÷ùí áñ÷åßï ôïõ Vim óôï äßóêï ìå üíïìá ÁÑ×ÅÉÏ.
3. :#,#w ÁÑ×ÅÉÏ óþæåé ôéò ãñáììÝò áðü # ìÝ÷ñé # óôï ÁÑ×ÅÉÏ.
4. :r ÁÑ×ÅÉÏ áíáêôåß ôï áñ÷åßï äßóêïõ ÁÑ×ÅÉÏ êáé ôï ðáñåìâÜëëåé ìÝóá
óôï ôñÝ÷ïí áñ÷åßï ìåôÜ áðü ôç èÝóç ôïõ äñïìÝá.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 6.1: Ç ÅÍÔÏËÇ ÁÍÏÉÃÌÁÔÏÓ
** ÐáôÞóôå o ãéá íá áíïßîåôå ìßá ãñáììÞ êÜôù áðü ôïí äñïìÝá êáé íá
âñåèåßôå óå ÊáôÜóôáóç ÊåéìÝíïõ. **
1. Ìåôáêéíåßóôå ôïí äñïìÝá óôçí ðáñáêÜôù ãñáììÞ óçìåéùìÝíç ìå --->.
2. ÐáôÞóôå o (ðåæü) ãéá íá áíïßîåôå ìßá ãñáììÞ ÊÁÔÙ áðü ôïí äñïìÝá êáé íá
âñåèåßôå óå ÊáôÜóôáóç ÊåéìÝíïõ.
3. Ôþñá áíôéãñÜøôå ôç óçìåéùìÝíç ìå ---> ãñáììÞ êáé ðáôÞóôå <ESC> ãéá íá
âãåßôå áðü ôçí ÊáôÜóôáóç ÊåéìÝíïõ.
---> After typing o the cursor is placed on the open line in Insert mode.
4. Ãéá íá áíïßîåôå ìßá ãñáììÞ ÐÁÍÙ áðü ôïí äñïìÝá, ðáôÞóôå áðëÜ Ýíá êåöáëáßï
O, áíôß ãéá Ýíá ðåæü o. ÄïêéìÜóôå ôï óôçí ðáñáêÜôù ãñáììÞ.
Áíïßãåôå ãñáììÞ ðÜíù áðü áõôÞí ðáôþíôáò Shift-O üóï ï äñïìÝáò åßíáé óôç ãñáììÞ
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 6.2: Ç ÅÍÔÏËÇ ÐÑÏÓÈÇÊÇÓ
** ÐáôÞóôå a ãéá íá åéóÜãåôå êåßìåíï ÌÅÔÁ ôïí äñïìÝá. **
1. Ìåôáêéíåßóôå ôïí äñïìÝá óôï ôÝëïò ôçò ðñþôçò ãñáììÞò ðáñáêÜôù
óçìåéùìÝíç ìå ---> ðáôþíôáò $ óôçí ÊáíïíéêÞ ÊáôÜóôáóç.
2. ÐáôÞóôå Ýíá a (ðåæü) ãéá íá ðñïóèÝóåôå êåßìåíï ÌÅÔÁ áðü ôïí ÷áñáêôÞñá
ðïõ åßíáé êÜôù áðü ôïí äñïìÝá. (Ôï êåöáëáßï A ðñïóèÝôåé óôï ôÝëïò
ôçò ãñáììÞò).
Óçìåßùóç: Áõôü áðïöåýãåé ôï ðÜôçìá ôïõ i , ôïí ôåëåõôáßï ÷áñáêôÞñá, ôï
êåßìåíï ôçò åéóáãùãÞò, <ESC>, äñïìÝá-äåîéÜ, êáé ôÝëïò, x, ìüíï êáé
ìüíï ãéá íá ðñïóèÝóåôå óôï ôÝëïò ôçò ãñáììÞò!
3. Óõìðëçñþóôå ôþñá ôçí ðñþôç ãñáììÞ. Óçìåéþóôå åðßóçò üôé ç ðñïóèÞêç åßíáé
áêñéâþò ßäéá óôçí ÊáôÜóôáóç ÊåéìÝíïõ ìå ôçí ÊáôÜóôáóç ÅéóáãùãÞò, åêôüò
áðü ôç èÝóç ðïõ åéóÜãåôáé ôï êåßìåíï.
---> This line will allow you to practice
---> This line will allow you to practice appending text to the end of a line.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 6.3: ÁËËÇ ÅÊÄÏÓÇ ÔÇÓ ÁÍÔÉÊÁÔÁÓÔÁÓÇÓ
** ÐáôÞóôå êåöáëáßï R ãéá íá áëëÜîåôå ðåñéóóüôåñïõò áðü Ýíáí ÷áñáêôÞñåò. **
1. Ìåôáêéíåßóôå ôïí äñïìÝá óôçí ðñþôç ãñáììÞ ðáñáêÜôù óçìåéùìÝíç ìå --->.
2. ÔïðïèåôÞóôå ôïí äñïìÝá óôçí áñ÷Þ ôçò ðñþôçò ëÝîçò ðïõ åßíáé äéáöïñåôéêÞ
áðü ôç äåýôåñç ãñáììÞ óçìåéùìÝíç ìå ---> (ç ëÝîç 'last').
3. ÐáôÞóôå ôþñá R êáé áëëÜîôå ôï õðüëïéðï ôïõ êåéìÝíïõ óôçí ðñþôç ãñáììÞ
ãñÜöïíôáò ðÜíù áðü ôï ðáëéü êåßìåíï þóôå íá êÜíåôå ôçí ðñþôç ãñáììÞ ßäéá
ìå ôç äåýôåñç.
---> To make the first line the same as the last on this page use the keys.
---> To make the first line the same as the second, type R and the new text.
4. Óçìåéþóôå üôé üôáí ðáôÜôå <ESC> ãéá íá âãåßôå, ðáñáìÝíåé ïðïéïäÞðïôå
áíáëëïßùôï êåßìåíï.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÜèçìá 6.4: ÑÕÈÌÉÓÇ ÅÐÉËÏÃÇÓ
** Ñõèìßóôå ìßá åðéëïãÞ Ýôóé þóôå ç áíáæÞôçóç Þ ç áíôéêáôÜóôáóç íá áãíïåß
ôç äéáöïñÜ ðåæþí-êåöáëáßùí **
1. ØÜîôå ãéá 'ignore' åéóÜãïíôáò:
/ignore
Óõíå÷ßóôå áñêåôÝò öïñÝò ðáôþíôáò ôï ðëÞêôñï n.
2. ÈÝóôå ôçí åðéëïãÞ 'ic' (Ignore case) ãñÜöïíôáò:
:set ic
3. ØÜîôå ôþñá îáíÜ ãéá 'ignore' ðáôþíôáò: n
Óõíå÷ßóôå ôçí áíáæÞôçóç ìåñéêÝò áêüìá öïñÝò ðáôþíôáò ôï ðëÞêôñï n
4. ÈÝóôå ôéò åðéëïãÝò 'hlsearch' êáé 'incsearch':
:set hls is
5. ÅéóÜãåôå ôþñá îáíÜ ôçí åíôïëÞ áíáæÞôçóçò, êáé äåßôå ôé óõìâáßíåé
/ignore
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÁÈÇÌÁ 6 ÐÅÑÉËÇØÇ
1. Ðáôþíôáò o áíïßãåé ìßá ãñáììÞ ÊÁÔÙ áðü ôïí äñïìÝá êáé ôïðïèåôåß ôïí
äñïìÝá óôçí áíïé÷ôÞ ãñáììÞ óå ÊáôÜóôáóç ÊåéìÝíïõ.
2. ÐáôÞóôå a ãéá íá åéóÜãåôå êåßìåíï ÌÅÔÁ ôïí ÷áñáêôÞñá óôïí ïðïßï åßíáé
ï äñïìÝáò. Ðáôþíôáò êåöáëáßï A áõôüìáôá ðñïóèÝôåé êåßìåíï óôï ôÝëïò
ôçò ãñáììÞò.
3. Ðáôþíôáò êåöáëáßï R åéóÝñ÷åôáé óôçí ÊáôÜóôáç ÁíôéêáôÜóôáóçò ìÝ÷ñé íá
ðáôçèåß ôï <ESC> êáé íá åîÝëèåé.
4. ÃñÜöïíôáò ":set xxx" ñõèìßæåé ôçí åðéëïãÞ "xxx".
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÁÈÇÌÁ 7: ON-LINE ÅÍÔÏËÅÓ ÂÏÇÈÅÉÁÓ
** ×ñçóéìïðïéÞóôå ôï on-line óýóôçìá âïÞèåéáò **
Ï Vim Ý÷åé Ýíá ðåñéåêôéêü on-line óýóôçìá âïÞèåéáò. Ãéá íá îåêéíÞóåé,
äïêéìÜóôå êÜðïéï áðü ôá ôñßá:
- ðáôÞóôå ôï ðëÞêôñï <HELP> (áí Ý÷åôå êÜðïéï)
- ðáôÞóôå ôï ðëÞêôñï <F1> (áí Ý÷åôå êÜðïéï)
- ãñÜøôå :help <ENTER>
ÃñÜøôå :q <ENTER> ãéá íá êëåßóåôå ôï ðáñÜèõñï ôçò âïÞèåéáò.
Ìðïñåßôå íá âñåßôå âïÞèåéá ðÜíù óå êÜèå áíôéêåßìåíï, äßíïíôáò ìßá ðáñÜìåôñï
óôçí åíôïëÞ ":help". ÄïêéìÜóôå áõôÜ (ìçí îå÷íÜôå íá ðáôÜôå <ENTER>):
:help w
:help c_<T
:help insert-index
:help user-manual
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ÌÁÈÇÌÁ 8: ÄÇÌÉÏÕÑÃÇÓÔÅ ÅÍÁ SCRIPT ÅÊÊÉÍÇÓÇÓ
** ÅíåñãïðïéÞóôå ÷áñáêôçñéóôéêÜ ôïõ Vim **
Ï Vim Ý÷åé ðïëëÜ ðåñéóóüôåñá ÷áñáêôçñéóôéêÜ áð' ü,ôé ï Vi, áëëÜ ôá
ðåñéóóüôåñá åßíáé áñ÷éêÜ áðåíåñãïðïéçìÝíá. Ãéá íá áñ÷ßóåôå íá ÷ñçóéìïðïéåßôå
ðåñéóóüôåñá ÷áñáêôçñéóôéêÜ ðñÝðåé íá öôéÜîåôå Ýíá áñ÷åßï "vimrc".
1. Áñ÷ßóôå äéïñèþíïíôáò ôï áñ÷åßï "vimrc", áõôü åîáñôÜôáé áðü ôï óýóôçìÜ óáò:
:edit ~/.vimrc ãéá Unix
:edit $VIM/_vimrc ãéá MS-Windows
2. Ôþñá åéóÜãåôå ôï êåßìåíï ðáñáäåßãìáôïò ãéá áñ÷åßï "vimrc":
:read $VIMRUNTIME/vimrc_example.vim
3. ÃñÜøôå ôï áñ÷åßï ìå ôçí:
:write
Ôçí åðüìåíç öïñÜ ðïõ èá îåêéíÞóåôå ôïí Vim èá ÷ñçóéìïðïéÞóåé öùôéóìü
óýíôáîçò. Ìðïñåßôå íá ðñïóèÝóåôå üëåò ôéò ðñïôéìþìåíåò åðéëïãÝò ó' áõôü
ôï áñ÷åßï "vimrc".
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Åäþ ïëïêëçñþíåôáé ôï Vim Tutor. Óêïðüò ôïõ Þôáí íá äþóåé ìßá óýíôïìç
ðåñßëçøç ôïõ óõíôÜêôç Vim, ôïõëÜ÷éóôïí ôüóç þóôå íá óáò åðéôñÝøåé íá
÷ñçóéìïðïéÞóåôå ôïí óõíôÜêôç áñêåôÜ åýêïëá. ÁðÝ÷åé ðïëý áðü ìßá
ïëïêëçñùìÝíç ðáñïõóßáóç êáèþò ï Vim Ý÷åé ðÜñá ðïëëÝò åíôïëÝò. ÄéáâÜóôå
êáôüðéí ôï åã÷åéñßäéï ÷ñÞóçò:
":help user-manual".
Ãéá ðåñáéôÝñù äéÜâáóìá êáé ìåëÝôç, óõóôÞíåôáé áõôü ôï âéâëßï:
Vim - Vi Improved - by Steve Oualline
Publisher: New Riders
Ôï ðñþôï âéâëßï ðëÞñùò áöéåñùìÝíï óôïí Vim.
Éäéáßôåñá ÷ñÞóéìï ãéá áñ÷Üñéïõò.
ÕðÜñ÷ïõí ðïëëÜ ðáñáäåßãìáôá êáé åéêüíåò.
Äåßôå ôçí http://iccf-holland.org/click5.html
Áõôü ôï âéâëßï åßíáé ðáëéüôåñï êáé ðåñéóóüôåñï ãéá ôïí Vi ðáñÜ ãéá ôïí Vim,
áëëÜ åðßóçò óõíéóôþìåíï:
Learning the Vi Editor - by Linda Lamb
Publisher: O'Reilly & Associates Inc.
Åßíáé Ýíá êáëü âéâëßï ãéá íá ìÜèåôå ó÷åäüí ôá ðÜíôá ðïõ èÝëåôå
íá êÜíåôå ìå ôïí Vi.
Ç Ýêôç Ýêäïóç ðåñéÝ÷åé áêüìá ðëçñïöïñßåò ãéá ôïí Vim.
ÁõôÞ ç ðåñéÞãçóç ãñÜöôçêå áðü ôïõò Michael C. Pierce êáé Robert K. Ware,
Colorado School of Mines ÷ñçóéìïðïéþíôáò éäÝåò áðü ôïí Charles Smith,
Colorado State University. E-mail: bware@mines.colorado.edu.
ÐñïóáñìïãÞ ãéá ôïí Vim áðü ôïí Bram Moolenaar.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~