Πανεπιστήμιο Κύπρου Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη της Πληροφορικής και Πληροφοριακά Συστήματα Εργαστήριο - ΕΠΛ003 Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο UNIX Μέρος 2 Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 1/17
Περίγραμμα Παρουσίασης Συντάκτες κειμένου Δημιουργία αρχείου με vi Input Mode Command Mode Action Commands Last Line Command Έξοδος Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 2/17
Συντάκτες κειμένου Το UNIX περιλαμβάνει 4 συντάκτες κειμένου: ed, ex, sed, vi Εμείς θα δούμε τον vi O vi είναι ένας full screen συντάκτης κειμένου Δεν περιλαμβάνει όλα τα features ενός κανονικού επεξεργαστή κειμένου Απλά σου επιτρέπει να πας σε ένα σημείο του κειμένου και να αλλάξεις το κείμενο Δεν ευθυγραμμίζει, δεν κεντράρει, δεν Πέραν του vi υπάρχει και ο vedit που είναι πιο φιλικός προς το χρήστη Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 3/17
Δημιουργία αρχείου με vi Για να δημιουργήσουμε ένα αρχείο με τον vi πληκτρολογούμε το ακόλουθο: $ vi <filename> Εάν το κείμενο προϋπάρχει θα σας το ανοίξει. Αλλιώς θα δημιουργήσει ένα καινούριο Στο κάτω μέρος της οθόνης ο vi δίνει διάφορες πληροφορίες Το τέλος του αρχείου συμβολίζεται με ~ στο κάτω αριστερό μέρος της οθόνης Κάθε γραμμή εκτός από την πρώτη, αρχίζει με ~ Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 4/17
Input Mode Είναι το mode που βρισκόμαστε για να εισάξουμε κείμενο Με το που ξεκινά ο vi μας παίρνει κατευθείαν σε Command Mode. Για να πάμε σε Input Mode πρέπει να πατήσουμε ένα από τα πιο κάτω κουμπιά: i επιτρέπει προσθήκη κειμένου μπροστά στο δρομέα l επιτρέπει προσθήκη κειμένου στην αρχή της γραμμής a επιτρέπει προσάρτηση κειμένου μετά το δρομέα A επιτρέπει προσάρτηση κειμένου στο τέλος της γραμμής o επιτρέπει είσοδο κειμένου κάτω από τη γραμμή που βρίσκεται ο δρομέας Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 5/17
Input Mode (συνέχεια) Στο input mode επίσης υπάρχουν οι ακόλουθες εντολές: <CTRL> + h, backspace, delete: διαγράφεις κείμενο <CTRL> + w: διαγραφή λέξης στην οποία βρίσκεται ο δρομέας Για να βγείτε εκτός και να επιστρέψετε στο Command Mode απλά πατάτε το ESC Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 6/17
Command Mode Είναι το mode το οποίο χρησιμεύει για εκτέλεση εντολών ενεργοποίησης (action commands) ή εντολών που ελέγχουν την κίνηση του δρομέα Ακολουθεί μια λίστα εντολών που χρησιμοποιούνται στο command mode Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 7/17
Command Mode (συνέχεια) h μετακινεί το δρομέα προς τα αριστερά j μετακινεί το δρομέα προς τα κάτω k μετακινεί το δρομέα προς τα πάνω l μετακινεί το δρομέα προς τα δεξιά $ - μετακινεί το δρομέα στο τέλος της γραμμής που βρίσκεται ο δρομέας O μετακινεί το δρομέα στην πρώτη στήλη της γραμμής που βρίσκεται ο δρομέας w μετακινεί το δρομέα στην αρχή της επόμενης λέξης λαμβάνοντας υπόψη σημεία στίξης W μετακινεί το δρομέα στην αρχή της επόμενης λέξης αγνοώντας σημεία στίξης Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 8/17
Command Mode (συνέχεια) b μετακινεί το δρομέα στην αρχή της προηγούμενης λέξης λαμβάνοντας υπόψη σημεία στίξης B μετακινεί το δρομέα στην αρχή της προηγούμενης λέξης αγνοώντας σημεία στίξης H μετακινεί το δρομέα στο HOME (πρώτη στήλη πρώτης γραμμής) M μετακινεί το δρομέα στη μεσαία γραμμή του παραθύρου L - μετακινεί το δρομέα στην τελευταία γραμμή του παραθύρου /<string> - μετακινεί το δρομέα μπροστά στο σημείο του string // επαναλαμβάνει το ψάξιμο του string μπροστά?<string> - μετακινεί το δρομέα πίσω στο σημείο του string? επαναλαμβάνει το ψάξιμο του string πίσω Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 9/17
Command Mode (συνέχεια) g μετακινεί το δρομέα στον αριθμό της γραμμής που του λέμε n επαναλαμβάνει το ψάξιμο προς την ίδια κατεύθυνση N επαναλαμβάνει το ψάξιμο προς την αντίθετη κατεύθυνση <CTRL>u μετακινεί αυτόματα μισή σελίδα προς τα πάνω <CTRL>d - μετακινεί αυτόματα μισή σελίδα προς τα κάτω <CTRL>f - μετακινεί αυτόματα μία σελίδα προς τα μπρος <CTRL>b μετακινεί αυτόματα μία σελίδα προς τα πίσω s/<string> s/<string> - αντικαθιστά το κείμενο του πρώτου ορίσματος στη θέση του κειμένου του δεύτερο ορίσματος Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 10/17
Action Commands u ανατρέπει τελευταία δοθείσα εντολή U ανατρέπει εντολές που έγιναν στην παρούσα γραμμή x διαγράφει το χαρακτήρα στον οποίο βρίσκεται ο δρομέας d cut Ολόκληρο κείμενο dd- cut όλη τη γραμμή που βρίσκεται ο δρομέας 5dd- διαγράφει την παρούσα γραμμή και τις 4 επόμενες d$ διαγράφει το κείμενο από το παρόν σημείο μέχρι το τέλος της γραμμής dw διαγράφει μια λέξη σταματά όταν βρει σημείο στίξης 2dw διαγράφει δύο λέξεις dw διαγράφει μια λέξη αγνοώντας σημεία στίξης Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 11/17
Action Commands (συνέχεια) r αντικαθιστά χαρακτήρα που βρίσκεται ο δρομέας με τον επόμενο R αντικαθιστά κείμενο στο τέλος της γραμμής που βρίσκεται ο δρομέας P τοποθετεί το κείμενο που έγινε cut/copy πριν το δρομέα (paste) yy αντιγράφει γραμμή κειμένου (copy) 2yy- αντιγράφει δύο γραμμές κείμενο (copy) j- ενώνει μια γραμμή με την επόμενη στην οποία βρίσκεται ο δρομέας.- επαναλαμβάνει την πιο πρόσφατα εκτελεσθείσα εντολή ~ μετατρέπει κεφαλαίο χαρακτήρα σε μικρό και αντίστροφα Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 12/17
Last Line Command Όλες οι εντολές που αρχίζουν με : βάζουν το vi σε Last Line Mode. Άρα μόλις πατήσουμε το : περιμένει το πρόγραμμα να εισάξουμε μια εντολή Οι περισσότερες εντολές που χρησιμοποιούνται στο Last Line Mode είναι εκείνες που χρησιμοποιούνται για να δώσουν παραμέτρους Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 13/17
Last Line Command (συνέχεια) :set all δείχνει όλες τις επιλογές που δόθηκαν με την set :set wrapmargin=n ορίζει το wrapmargin ίσο με n διαστήματα δεξιά από το περιθώριο :set number δείχνει τους αριθμούς των γραμμών του προσωρινού χώρου αποθήκευσης :set showmode ενεργοποιεί την εντολή για να μας δείχνει πότε είμαστε σε Input Mode Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 14/17
Έξοδος Για να βγείτε έξω από τον vi, μπορείτε να χρησιμοποιήσετε τα ακόλουθα: 1. ΖΖ - βγαίνει από το αρχείο και αποθηκεύει τις αλλαγές 2. :w <filename> - αποθηκεύει τις αλλαγές αλλά δεν βγαίνει από τον vi 3. :w! γράφει τις αλλαγές στο τρέχον αρχείο 4. :q βγαίνει από το αρχείο στο οποίο δεν έχουν γίνει αλλαγές 5. :q! βγαίνει από το αρχείο στο οποίο έγιναν αλλαγές χωρίς να αποθηκευθούν Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 15/17
Απορίες Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 16/17
Ευχαριστώ για την προσοχή σας! Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 17/17