Summary of VI commands in Greek
VI EDITOR Λίστα εντολών σε κατηγορίες


Η εντολές που ακολουθούν είναι χωρισμένες σε κατηγορίες ανάλογα με τη λειτουργεία που κάνουν.

Εντολές που σβήνουν ή αντιγράφουν κομμάτια του κειμένου

" Ορίζει ένα buffer ο οποίος μπορεί να χρησιμοποιηθεί από όλες τις εντολές που χρησιμοποιούν buffers. Αν το " ακολουθείται από ένα γράμμα ή ένα νούμερο τότε αυτό είναι το όνομα του buffer. παράδειγμα
D Σβήνει από εκεί που βρίσκεται ο cursor μέχρι το τέλος της γραμμής
p Αντιγράφει τον buffer που του ορίζουμε μετά την θέση ή την γραμμή που βρίσκεται ο cursor. Αν δεν ορίσουμε κάποιον συγκεκριμένο buffer τότε η εντολή p χρησιμοποιεί τον γενικό.(Δείτε το παράδειγμα της εντολής ")
P Αντιγράφει τον buffer που του ορίζουμε πρίν την θέση ή την γραμμή που βρίσκεται ο cursor. Αν δεν ορίσουμε κάποιον συγκεκριμένο buffer τότε η εντολή P χρησιμοποιεί τον γενικό.(Δείτε το παράδειγμα της εντολής ")
x Σβήνει τον χαρακτήρα πάνω στον οποίο βρίσκεται ο cursor. Αν πρίν το x δώσουμε ένα αριθμό τότε θα σβηστούν τόσοι χαρακτήρες μετάτον cursor.
X Σβήνει τον χαρακτήρα που βρίσκεται πρίν τον cursor.
d Σβήνει μέχρι εκεί που του ορίζουμε.Αν δώσουμε dd σβήνει όλη την γραμμή. Οτι σβήνεται τοποθετήται στον buffer που του ορίζουμε με την εντολή " , αν δεν ορισθεί buffer τότε χρησιμοποιήται ο γενικός. παράδειγμα
Y Καταχωρεί την γραμμή στον buffer που ορίζουμε, αν δεν ορίσουμε buffer χρησιμοποιεί τον γενικό.
y Καταχωρεί στον buffer που του ορίζουμε (ή στον γενικό) το κομμάτι του κειμένου που του ορίζουμε. Οι κανόνες που ακολουθεί είναι αυτοί που ακολουθεί και η d εκτός από την καταχώρηση μίας γραμμής που γίνεται δίνοντας
yy

Εντολές εισαγωγής κειμένου

A Ξεκινάει την εισαγωγή του κειμένου από το τέλος της γραμμής
I Ξεκινάει την εισαγωγή του κειμένου από την αρχή της γραμμής
o Ξεκινάει την εισαγωγή του κειμένου στην από κάτω γραμμή από αυτή που βρίσκεται ο cursor.
O Το κεφαλαίο γράμμα Ο ξεκινάει την εισαγωγή του κειμένου στην από πάνω γραμμή από αυτή που βρίσκεται ο cursor.
a Ξεκινάει την εισαγωγή κειμένου μία θέση μετά από εκεί που βρίσκεται ο cursor. Συνδιάζοντας την εντολή a μέ έναν αριθμό n πετυχαίνουμε εισαγωγή κειμένου n φορές. παράδειγμα
i Ξεκινάει την εισαγωγή κειμένου μία θέση πρίν από εκεί που βρίσκεται ο cursor. Συνδιάζοντας την εντολή i μέ έναν αριθμό n πετυχαίνουμε εισαγωγή κειμένου n φορές.

Μετακίνηση του cursor μέσα σε ένα αρχείο

^B Πάει πίσω μία σελίδα. Μαζί με ένα νούμερο n γυρνάει n σελίδες πίσω.
^F Πάει μπροστά μία σελίδα. Μαζί με ένα νούμερο n πάει n σελίδες μπροστά.
^D Πάει μπροστά μισό παράθυρο. Μαζί με ένα νούμερο n πάει n παράθυρα μπροστά
^H Ματακινεί τον cursor μία θέση αριστερά. Μαζί με ένα νούμερο n πάει n θέσεις δεξιά
^J Ματακινεί τον cursor μία γραμμή κάτω στην ίδια γραμμή. Μαζί με ένα νούμερο n πάει n γραμμές κάτω.
^M Πηγαίνει στον πρώτο χαρακτήρα της επόμενης γραμμής.
^N Οτι και το ^J
^P Ματακινεί τον cursor μία γραμμή κάτω στην ίδια γραμμή. Μαζί με ένα νούμερο n πάει n γραμμές κάτω.
^U Πάει πίσω μισό παράθυρο. Μαζί με ένα νούμερο n πάει n παράθυρα πίσω
$ Μετακινεί τον cursor στο τέλος της γραμμής. Μαζί με ένα νούμερο n πάει στο τέλος της γραμμής που είναι n γραμμές κάτω από τον cursor.
% Αν ο cursor είναι πάνω σε παρένθεση ή αγκύλη τότε τον μετακινεί σε αυτήν που της ταιριάζει
( Μετακινεί τον cursor στην αρχή της περιόδου
) Μετακινεί τον cursor στην αρχή της επόμενης περιόδου
{ Μετακινεί τον cursor στην αρχή της παραγράφου
} Μετακινεί τον cursor στην επόμενη παράγραφο
| n| Μετακινει τον cursor στην στήλη n
+ Μετακινεί τον cursor στον πρώτο όχι-κενό χαρακτήρα της επόμενης γραμμής
- Μετακινεί τον cursor στον πρώτο όχι-κενό χαρακτήρα της προηγούμενης γραμμής
^ Μετακινεί τον cursor στον πρώτο όχι-κενό χαρακτήρα της γραμμής
_ Οτι και το ^
0 Ο χαρακτήρας μηδέν μετακινεί τον cursor στην πρώτη στήλη της γραμμής
B Μετακινεί τον cursor μία λέξη πίσω
E Μετακινεί τον cursor μία λέξη μπροστά
nG Μετακινεί τον cursor στην γραμμή n. Αν δεν δίνεται n, τότε πάει στο τέλος του κειμένου.
H Μετακινεί τον cursor στον πρώτο όχι-κενό χαρακτήρα στην κορυφή της οθόνης
L Μετακινεί τον cursor στον πρώτο όχι-κενό χαρακτήρα στο κάτω μέρος της οθόνης
M Μετακινεί τον cursor στον πρώτο όχι-κενό χαρακτήρα στο κέντρο της οθόνης
W Μετακινεί τον cursor μία λέξη πίσω
b Μετακινεί τον cursor μία λέξη πίσω. Αν ο cursor είναι μέσα σε λέξη τότε τον πάει στο πρώτο της γράμμα
e Μετακινεί τον cursor μία λέξη μπροστά. Αν ο cursor είναι μέσα σε λέξη τότε τον πάει στο τελευτέο της γράμμα
w Οτι και το e
h Μετακινεί τον cursor μία θέση αριστερά
j Μετακινεί τον cursor μία γραμμή κάτω
k Μετακινεί τον cursor μία γραμμή πάνω
l Μετακινεί τον cursor μία θέση δεξιά

Μετακίνηση του cursor στην οθόνη

n^E Μετακινεί την οθόνη n γραμμές πάνω, χωρίς n την μετακινεί μία γραμμή Scroll forwards one line. A count scrolls that many lines.
n^Y Μετακινεί την οθόνη n γραμμές κάτω, χωρίς n την μετακινεί μία γραμμή Scroll backwards one line. A count scrolls that many lines.
z Αλλάζει την οθόνη ως εξής: z τοποθετεί την γραμμή στην κορυφή της οθόνης. z. τοποθετεί την γραμμή στο κέντρο της οθόνης. z- τοποθετεί την γραμμή στο κάτω μέρος της οθόνης. Αν πριν το z υπάρχει ένα νούμερο n, τότε κάνει αυτές τις αλλαγές για την γραμμή n. Για παράδειγμα 16z τοποθετεί στην κορυφή της οθόνης την γραμμή 16

Αντικατάσταση κειμένου

C Αλλάζει την γραμμή από την θέση του cursor μέχρι το τέλος της
R Αλλάζει τόσους χαρακτήρες όσους δίνουμε και αφήνει άθικτους τους υπόλοιπους
S Αλλάζει ολόκληρη την γραμμή
c Αλλάζει την γραμμή μέχρι να βρεί μία τελεία. Το cc αλλάζει ολόκληρη την γραμμή
r Αλλάζει τον χαρακτήρα που βρίσκεται ο cursor
s Αλλάζει τον χαρακτηρα που είναι ο cursor και μπαίνει σε insert mode. Με έναν αριθμό n αλλάζει n χαρακτήρες. Ο τελευτέος χαρκατήρας που είναι να αλλάξει αντικαθίσταται προσορινά με ένα $

Εντολές για να ψάχνετε μέσα σε ένα κείμενο

/ Ψάχνει προς τα κάτω το κείμενο για το string που ορίζουμε μετά το / παράδειγμα
? Ψάχνει προς τα επάνω το κείμενο για το string που ορίζουμε μετά το ?
n Επαναλαμβάνει την τελευτέα εντολή / ή ?
N Οτι και το n αλλά στην αντίθετη κατεύθυνση
f Ψάχνει μέσα στην γραμμή για τον χαρακτήρα που δίνουμε μετά το f και μετακινεί τον cursor εκέι.
F Ψάχνει προς τα πίσω μέσα στην γραμμή για τον χαρακτήρα που δίνουμε μετά το f και μετακινεί τον cursor εκέι.
T Οτι και το T αλλά πάει τον cursor στην επόμενη θέση από τον χαρακτήρα.
t Οτι και το f αλλά πάει τον cursor στην προηγούμενη θέση από τον χαρακτήρα
; Επαναλαμβάνει την τελευταία εντολή f ή F ή t ή T
, Επαναλαμβάνει την τελευταία εντολή f ή F ή t ή T αλλά στην αντίθετη κατεύθυνση

Εντολές μορφοποίησης χαρακτήρων και γραμμών

~ Αλλάζει από κεφαλαίο σε μικρό και από μικρό σε κεφαλαίο το γράμμα που είναι ο cursor
<< Μετακινεί την γραμμή προς τα αριστερά. Η τιμή του είναι μεταβλητή και μπορεί να ορισθεί από την set shiftwidth
>> Μετακινεί την γραμμή προς τα δεξιά. Η τιμή του είναι μεταβλητή και μπορεί να ορισθεί από την set shiftwidth
J Ενώνει την γραμμή που βρίσκεται ο cursor με την επόμενη. Με ένα νούμερο n μπροστά ενώνει n γραμμές

Εντολές για να σώσετε και να βγείτε από ένα αρχείο

^\ Μπαίνει σε ΕΧ mode. Ο EX editor είναι αυτός πάνω στον οποίο "χτίστηκε" ο VI. Για να επιστρέψετε σε vi mode δίνεται :vi
Q Οτι και η ^\
ZZ Βγαίνει από το αρχείο σώζοντας τις αλλαγές

Μερικές ακόμα εντολές

^G Δείχνει το όνομα του αρχείου τον συνολικό αριθμό γραμμών που έχει και τον αριθμό της γραμμής που βρίσκεται ο cursor
^L Καθαρίζει την οθόνη. Παράδειγμα
^R Ξανασχεδιάζει την οθόνη και διορθώνει τα λάθη
^[ Το σύμβολο <ctrl>-[ είναι ουσιατικά το <ESC>
! Η εντολή ! ξεκινάει ένα shell. Αμα ορίσετε κάποιες συγκεκριμένες γραμμές τότε χρησιμοποιεί αυτές σαν input και τις αντικαθιστά με το output. Η !! χρησιμοποιεί σαν input την γραμμή που είναι ο cursor.
& Επαναλαμβάνει την τελευταία εντολή αλλαγής :s
. Επαναλαμβάνει την τελευταία εντολή
: Δίνει την δινατότητα να εκτελεστεί μια εντολή του ex.
U Φέρνει την γραμμή που είναι ο cursor στην γραμμή που ήταν πριν την αλλάξετε
m "Σημαδεύει" την θέση με τον χαρακτήρα που ακολουθεί το m
u Ακυρώνει την τελευταία αλλαγή. Δύο συνεχόμενα u αφήνουν το αρχείο όπως ήταν πρίν από αυτά

Εντολές του EX

Ο vi editor είναι βασισμένος πάνω σε έναν line editor, τον ex. Ετσι ο vi δίνει την δυνατότητα να εκτελεστούν οι εντολές του ex.
:ab string strings Κάνει συντομογραφία ενός string σε ένα άλλο. Ετσι αν δώσετε:
:ab usa United States of America
τότε κάθε φορά που θα γράφετε usa θα εμφανίζεται το
United States of America
:map keys new_seq Με την μέθοδο του mapping μπορείτε να κάνετε συντομογραφίες σε εντολες. Παράδειγμα
:q Βγαίνει από το αρχείο. Αν έχετε κάνει αλλαγές που δεν έχετε σώσει τότε εμφανίζεται ένα μήνυμα και δεν βγαίνει από το αρχείο
:q! Βγαίνει από το αρχείο χωρίς να σώσει τις τελευτέες αλλαγές
:s/from/to/options Αντικαθιστά την λέξη from στην λέξη to. Παράδειγμα
:set [all] Ορίζει της μεταβλητές του vi. Η εντολή set all δείχνει όλες τις μεταβλητές και για όσες υπάρχει, την τιμή τους.
:una string κάνει το ανάποδο από την ab, δηλαδή αφαιρεί από ένα string την ιδιότητά του να είναι συντομογραφία κάποιου άλλου.
:unm keys Το αντίστοιχο του una αλλά για την εντολή map
:vi filename Ξεκινάει την επεξεργασία ενός άλλου αρχείου.
:w Σώζει το αρχείο και παραμένει μέσα σε αυτό
:w new_file Σώζει τα περιεχόμενα του αρχείου σε ένα άλλο με όνομα new_file
:w >> filename Προσθέτει το αρχείο, κάτω από το αρχείο filename
:wq Σώζει τις τελευτές αλλαγές και βγαίνει από το αρχείο
:x Οτι και το x