570 γραμμές
		
	
	
	
		
			26 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			570 γραμμές
		
	
	
	
		
			26 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								+++
							 | 
						|||
| 
								 | 
							
								title = 'Οι βασικές λειτουργίες του VI'
							 | 
						|||
| 
								 | 
							
								date = '1999-03-01T00:00:00Z'
							 | 
						|||
| 
								 | 
							
								description = ''
							 | 
						|||
| 
								 | 
							
								author = 'Ζανικόλας Σεραφείμ(mailto:serzan@it.teithe.gr)'
							 | 
						|||
| 
								 | 
							
								issue = ['Magaz 22']
							 | 
						|||
| 
								 | 
							
								issue_weight = 3
							 | 
						|||
| 
								 | 
							
								+++
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								----------------------------------------------------------------------------------------------------------------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								*Αυτό το έγγραφο φιλοδοξεί να παρουσιάσει με κατανοητό και γρήγορο τρόπο τις βασικές λειτουργίες του `VI`, ενός από τους καθιερωμένους επεξεργαστές κειμένου των
							 | 
						|||
| 
								 | 
							
								UNIX λειτουργικών συστημάτων.*
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								----------------------------------------------------------------------------------------------------------------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**1. Σχετικά\...**
							 | 
						|||
| 
								 | 
							
								---------------------------------------
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**2. Εισαγωγή**
							 | 
						|||
| 
								 | 
							
								------------------------------------
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**3. Μετακίνηση**
							 | 
						|||
| 
								 | 
							
								--------------------------------------
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								-   [3.1 Στα όρια της ενεργής γραμμής](#ss3.1)
							 | 
						|||
| 
								 | 
							
								-   [3.2 Σε σχέση με την οθόνη](#ss3.2)
							 | 
						|||
| 
								 | 
							
								-   [3.3 Σε όλο το κείμενο](#ss3.3)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**4. Επεξεργασία Κειμένου**
							 | 
						|||
| 
								 | 
							
								------------------------------------------------
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								-   [4.1 Εισαγωγή](#ss4.1)
							 | 
						|||
| 
								 | 
							
								-   [4.2 Διαγραφή](#ss4.2)
							 | 
						|||
| 
								 | 
							
								-   [4.3 Αντικατάσταση](#ss4.3)
							 | 
						|||
| 
								 | 
							
								-   [4.4 Αλλες χρήσιμες εντολές επεξεργασίας](#ss4.4)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**5. Αναζήτηση**
							 | 
						|||
| 
								 | 
							
								-------------------------------------
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								-   [5.1 Στα όρια της ενεργής γραμμής](#ss5.1)
							 | 
						|||
| 
								 | 
							
								-   [5.2 Σε όλο το κείμενο](#ss5.2)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**6. Διαχείρηση Αρχείων**
							 | 
						|||
| 
								 | 
							
								----------------------------------------------
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**7. Διαχείριση περιοχών μνήμης προσωρινής αποθήκευσης (buffers)**
							 | 
						|||
| 
								 | 
							
								---------------------------------------------------------------------------------------
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**8. Διάφορες εντολές**
							 | 
						|||
| 
								 | 
							
								--------------------------------------------
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**9. Παραδείγματα**
							 | 
						|||
| 
								 | 
							
								----------------------------------------
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [1. Σχετικά\...]{#s1}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Όπως δηλώνει σαφώς και ο τίτλος, σε καμμία περίπτωση δεν αποτελεί πλήρη οδηγό του VI. Η ομαδοποίηση των εντολών έγινε αυθαίρετα έχοντας υπ\'όψη την -όσο το
							 | 
						|||
| 
								 | 
							
								δυνατόν- ευκολότερη εκμάθηση τους. Για παρατηρήσεις / προτάσεις, επικοινωνήστε στην παραπάνω διεύθυνση. Τέλος το έγγραφο θα το βρείτε στη διεύθυνση
							 | 
						|||
| 
								 | 
							
								http://aetos.it.teithe.gr/\~serzan/vi/vi.html
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [2. Εισαγωγή]{#s2}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**Καταστάσεις Λειτουργίας, Εντολές**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   Ο `VI`(sual editor) έχει δύο βασικές καταστάσεις λειτουργίας:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    -   κατάσταση εντολών (command mode)
							 | 
						|||
| 
								 | 
							
								    -   κατάσταση εισαγωγής κειμένου (text entry mode)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    Κατά τη κατάσταση εντολών οτιδήποτε πληκτρολογείτε μεταφράζεται ως εντολή. Φροντίστε να είστε προσεκτικοί γιατί δε φαίνονται οι εντολές που δίνετε, βλέπετε
							 | 
						|||
| 
								 | 
							
								    μόνο τα αποτελέσματά τους. Εξαίρεση αποτελούν οι εντολές που αρχίζουν από \":\" (άνω κάτω τελεία) οι οποίες εμφανίζονται στο κάτω μέρος της οθόνης και
							 | 
						|||
| 
								 | 
							
								    εκτελούνται αφού πατήσετε `<CR>` (enter). Σε κατάσταση εισαγωγής κειμένου -σχεδόν- ο,τιδήποτε πληκτρολογείτε εισάγεται στο κείμενο.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**Εισαγωγή - Διαγραφή**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   Πατώντας `<ESC>` ή `^[` (control-\[) μπορείτε να είστε σίγουροι πως ο `VI` είναι σε κατάσταση εντολών. Βασικοί τρόποι για να περάσετε σε κατάσταση εισαγωγής
							 | 
						|||
| 
								 | 
							
								    κειμένου είναι: πατώντας `i` (insert - εισαγωγή κειμένου στη θέση του δρομέα), `a` (append - εισαγωγή κειμένου στην πρώτη θέση στα δεξιά του δρομέα) ή `o`
							 | 
						|||
| 
								 | 
							
								    (open(?) - εισαγωγή κειμένου σε νέα γραμμή κάτω από την ενεργή). Χρησιμοποιήστε το `x` για να διαγράψετε το χαρακτήρα στη θέση του δρομέα.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**Μετακίνηση**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   Για να κινηθείτε μέσα στο κείμενο, αφού βεβαιωθείτε πως είστε σε κατάσταση εντολών, χρησιμοποιήστε τα `h j k l` για αριστερά, κάτω, πάνω και δεξιά.
							 | 
						|||
| 
								 | 
							
								    Εναλλακτικά μπορείτε να χρησιμοποιήσετε τα βελάκια, κάτι που δε συνίσταται για λόγους ταχύτητας.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**Χειρισμός Αρχείων, Εξοδος**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   Οσο επεξεργάζεστε ένα αρχείο στον `VI`, ουσιαστικά δουλεύετε σε ένα αντίγραφο του αρχείου σε μία προσωρινή μνήμη (buffer). Οι αλλαγές που κάνετε στην
							 | 
						|||
| 
								 | 
							
								    προσωρινή μνήμη δεν αποθηκεύονται μέχρι τη στιγμή που θα δώσετε την εντολή `:w<CR>` (από το write). Εάν το αρχείο είναι read only μπορείτε να γράψετε μόνο
							 | 
						|||
| 
								 | 
							
								    με `:w!<CR>`, με την προυπόθεση φυσικά πως έχετε δικαίωμα εγγραφής στο αρχείο (write permission). Γράφοντας
							 | 
						|||
| 
								 | 
							
								    `:e                                   filename<CR>` μπορείτε να ανοίξετε ένα νέο αρχείο για επεξεργ ασία, ενώ τερματίζετε τον `VI` με `:q<CR>`. Εφόσον δεν
							 | 
						|||
| 
								 | 
							
								    έχετε αποθηκεύσει τις αλλαγές που κάνατε ο `VI` θα διαμαρτυρηθεί και δε θα εκτελέσει την εντολή σας, σε αυτή την περίπτωση χρησιμοποιήστε `:e! filename<CR>`
							 | 
						|||
| 
								 | 
							
								    και `:q!<CR>` αντίστοιχα.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**Αντιγραφή, Διαγραφή, Επικόλληση**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   Οι εντολές `c[E]`, `y[E]` και `d[E]` (change-αλλαγή, yank-copy-αντιγραφή σε προσωρινή μνήμη, delete-διαγραφή και αντιγραφή στην προσωρινή μνήμη), επιδρούν
							 | 
						|||
| 
								 | 
							
								    σε περιοχή κειμένου που προσδιορίζεται από το επίθεμά `[E]` πχ. `yw` (yank word to buffer). Η επανάληψη (`cc`, `yy`, `dd)` υποδηλώνει την επίδρασή τους στην
							 | 
						|||
| 
								 | 
							
								    τρέχουσα γραμμή πχ. το `yy` αντιγράφει το περιεχόμενο της τρέχουσας γραμμής στην προσωρινή μνήμη (yank line to buffer). Επικόλληση κειμένου από την
							 | 
						|||
| 
								 | 
							
								    προσωρινή μνήμη γίνεται μ ε το `p`.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**Η Λογική Των Εντολών**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   Οι περισσότερες εντολές του `VI` μπορούν να δεχτούν ένα αριθμητικό πρόθεμα, με το οποίο δηλώνουμε πόσες φορές επιθυμούμε την εκτέλεση τους. Ετσι λοιπόν εκεί
							 | 
						|||
| 
								 | 
							
								    που το `dd` θα έσβηνε την τρέχουσα γραμμή το `3dd` σβήνει 3 γραμμές.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    Ακολουθούν κάποια παραδείγματα. Είναι επιθυμητό ο αναγνώστης να εξοικειωθεί με όσα αναφέρθηκαν μέχρι στιγμής δεδομένου ότι οι εντολές των επόμενων κεφαλαίων
							 | 
						|||
| 
								 | 
							
								    ενδέχεται να προκαλέσουν σύγχιση.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**Παραδείγματα**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    **`14l`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    :   μεταφορά του δρομέα 14 θέσεις προς τα δεξιά
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    **`10j`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    :   μεταφορά του δρομέα 10 σειρές προς τα κάτω
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    **`10x`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    :   διαγραφή 10 χαρακτήρων, ξεκινώντας από το δρομέα προς τα δεξιά
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    **`cwtext`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    :   αλλαγή λέξης με το text
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    **`3cctext`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    :   αλλαγή τριών γραμμών με το text
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    **`7yw`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    :   αντιγραφή 7 λέξεων στην προσωρινή μνήμη
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    **`3yy`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    :   αντιγραφή 3 γραμμών στην προσωρινή μνήμη
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    **`5dw`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    :   διαγραφή 5 λέξεων (και αντιγραφή στην προσωρινή μνήμη)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    **`2dd`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    :   διαγραφή 2 γραμμών (και αντιγραφή στην προσωρινή μνήμη)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [3. Μετακίνηση]{#s3}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Οι εντολές που δέχονται αριθμητικό πρόθεμα φαίνονται με το χαρακτήρα \[N\] ενώ εκείνες που μπορούν να χρησιμοποιηθούν ως επίθεμα των εντολών `y d c` με \[E\]
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [3.1 Στα όρια της ενεργής γραμμής]{#ss3.1}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`[N][E] w b e`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   μετακίνηση στην επόμενη λέξη, στην αρχή ή στο τέλος λέξης (οι λέξεις αποτελούνται από γράμματα και ψηφία, οτιδήποτε άλλο θεωρείται διαχωριστικό λέξης)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`[N][E] W B E`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   μετακίνηση στην επόμενη λέξη, στην αρχή ή στο τέλος λέξης (οι λέξεις αποτελούντα από οποιουσδήποτε χαρακτήρες εκτός από το κενό, που έιναι διαχωριστικό
							 | 
						|||
| 
								 | 
							
								    λέξης)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`[E] 0`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   μεταφορά του δρομέα στην πρώτη στήλη της ενεργής γραμμής
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`[E] n|`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   μεταφορά του δρομέα στην νιοστή στήλη της ενεργής γραμμής ή στην πρώτη εάν δεν προσδιοριστεί το `n`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`[E] $`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   μετακίνηση του δρομέα στο τέλος της ενεργής γραμμής
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [3.2 Σε σχέση με την οθόνη]{#ss3.2}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`[E] H`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   μετακίνηση στην πρώτη γραμμή της οθόνης
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`[E] M`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   μετακίνηση στη γραμμή στη μέση της οθόνης
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`[E] L`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   μετακίνηση στην τελευταία γραμμή της οθόνης
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`^F`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   μετακίνηση μία οθόνη προς τα κάτω
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`^B`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   μετακίνηση μία οθόνη προς τα πάνω
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [3.3 Σε όλο το κείμενο]{#ss3.3}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`[N] h j k l`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αριστερά, κάτω, πάνω, δεξιά (εναλλακτικά χρησιμοποιήστε τα βελάκια)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`[E] nG`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   μετακίνηση στη νιοστή γραμμή ή στο τέλος του αρχείου (χωρίς το `n`)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:n<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   μετακίνηση στη νιοστή γραμμή
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`[E] 'a`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   μετακίνηση στην πρώτη στήλη της γραμμής που σημειώθηκε ως `a`, αυτό γίνεται με την εντολή `ma` όπου `a` ένα οποιοδήποτε μικρό γράμμα του λατινικού αλφαβήτου
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`` [E] `a ``**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   μετακίνηση στη στήλη και στη γραμμή που σημειώθηκε ως `a`, αυτό γίνεται με την εντολή `ma` όπου `a` ένα οποιοδήποτε μικρό γράμμα του λατινικού αλφαβήτου
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [4. Επεξεργασία Κειμένου]{#s4}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Οι εντολές που δέχονται αριθμητικό πρόθεμα φαίνονται με το χαρακτήρα \[N\] ενώ εκείνες που μπορούν να χρησιμοποιηθούν ως επίθεμα των εντολών `y d c` με \[E\]
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [4.1 Εισαγωγή]{#ss4.1}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`atext`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   γράφει το `text` στα δεξιά της θέσης του δρομέα (append)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`A`text**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   γράφει το `text` στο τέλος της ενεργής γραμμής
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`itext`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   γράφει το `text` στη θέση του δρομέα (insert)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`Itext`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   γράφει το `text` στην αρχή της ενεργής γραμμής
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`otext`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   γράφει το `text` στην αρχή μιας νέας γραμμής που ανοίγει κάτω από την ενεργή (open)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`Otext`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   γράφει το `text` στην αρχή μιας νέας γραμμής που ανοίγει πάνω από την ενεργή
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [4.2 Διαγραφή]{#ss4.2}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Κάθε φορά που διαγράφετε κάτι, αυτό αντιγράφετε αυτόματα στη γενικής χρήσεως προσωρινή μνήμη (buffer).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`[N] x`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   διαγραφή του χαρακτήρα στον οποίο βρίσκεται ο δρομέας
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`[N] X`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   διαγραφή του χαρακτήρα αριστερά του δρομέα
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`[N] d[E]`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   διαγραφή από τη θέση του δρομέα εώς το σημείο που προσδιορίζει το `[E]`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`[N] dd`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   διαγραφή τρέχουσας γραμμής
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`D`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   διαγραφή από τη θέση του δρομέα εώς το τέλος της γραμμής (ισοδύναμο με `d$`)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:d<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   διαγραφή τρέχουσας γραμμής (ισοδύναμο με `dd`)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:nd<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   διαγραφή νιοστής γραμμής, όπου `n` ακέραιος αριθμός που προσδιορίζει τον αριθμό γραμμής
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:x,yd<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   διαγραφή από την γραμμή `x` εώς και την `y`. Όπου `x` και `y` μπορεί να είναι: α) οποιοσδήποτε αριθμός γραμμής β). (τελεία - ενεργή γραμμή) γ) \$ (τελευταία
							 | 
						|||
| 
								 | 
							
								    γραμμή) δ) τα (β) ή (γ) + - αριθμητική σταθερά
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [4.3 Αντικατάσταση]{#ss4.3}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#### Στα όρια της ενεργής γραμμής
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`[N] c[E]text`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αλλαγή (change) του κειμένου, από το δρομέα εώς τη θέση που προσδιορίζει το `[E]`, με το `text`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`[N] cctext`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αλλαγή ενεργής γραμμής με το `text`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`Ctext`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αλλαγή του κειμένου, από το δρομέα εώς το τέλος της γραμμής, με το `text` (ισοδύναμο με `c$text`)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:s/re1/re2/<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αντικατάσταση (subtitute), ΜΟΝΟ της πρώτης συμβολοσειράς `re1` ή αυτής που προσδιορίζεται από την κανονική έκφραση `re1` (relative expression), που θα
							 | 
						|||
| 
								 | 
							
								    βρεθεί στην ενεργή γραμμή, με τη συμβολοσειρά `re2` ή αυτήν που προσδιορίζεται από την κανονική έκφραση `re2`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:s/re1/re2/g<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   το ίδιο με τη διαφορά πως θα αντικαταστήσει ΟΛΑ τα `re1`, της ενεργής γραμμής, με το `re2` και όχι μόνο το πρώτο
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:s/re1/re2/c<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   το ίδιο με τη διαφορά πως θα σας ζητήσει επιβεβαίωση για κάθε αλλαγή που θα κάνει. Οι επιλογές `g` (global) και `c` (confirm) είναι προαιρετικές και μπορούν
							 | 
						|||
| 
								 | 
							
								    να χρησιμοποιηθούν και ταυτόχρονα
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#### Σε όλο το κείμενο
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:x,y s/re1/re2/<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αντικατάσταση, ΜΟΝΟ της πρώτης συμβολοσειράς `re1` ή αυτής που προσδιορίζεται από την κανονική έκφραση `re1` (relative expression), που θα βρεθεί στις
							 | 
						|||
| 
								 | 
							
								    γραμμές που προσδιορίζονται από τα `x` και `y`, με τη συμβολοσειρά `re2` ή αυτήν που προσδιορίζεται από την κανονική έκφραση `re2`. Όπου `x` και `y` μπορεί
							 | 
						|||
| 
								 | 
							
								    να είναι: α) οποιοσδήποτε αριθμός γραμμής β). (τελεία - ενεργή γραμμή) γ) \$ (τελευταία γραμμή) δ) τα (β) ή (γ) + - αριθμητική σταθε ρά
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [4.4 Αλλες χρήσιμες εντολές επεξεργασίας]{#ss4.4}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`[N] ~`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αλλάζει το χαρακτήρα στη θέση του δρομέα, από μικρό σε κεφαλαίο ή αντίστροφα, και κινείται μία θέση δεξιά (μόνο για λατινικούς χαρακτήρες)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`[N] u`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   ακυρώνει μία ή περισσότερες ενέργεις (undo)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`J`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   ενώνει την ενεργή γραμμή με την επόμενη
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [5. Αναζήτηση]{#s5}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Οι εντολές που δέχονται αριθμητικό πρόθεμα φαίνονται με το χαρακτήρα \[N\] ενώ εκείνες που μπορούν να χρησιμοποιηθούν ως επίθεμα των εντολών `y d c` με \[E\]
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [5.1 Στα όρια της ενεργής γραμμής]{#ss5.1}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`[N][E] fa Fa`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   μεταφορά του δρομέα στο πρώτο `a` που θα βρεθεί στη γραμμή προς τα δεξιά (`fa`) ή προς τα αριστερά (`Fa`)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`[N][E] , ;`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   επανάληψη τελευταίας αναζήτησης προς τα αριστερά (`,`) ή προς τα δεξιά (`;`)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [5.2 Σε όλο το κείμενο]{#ss5.2}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`/re`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αναζήτηση, προς τα εμπρός, του `re`, όπου `re` μια οποιαδήποτε συμβολοσειρά ή κανονική έκφραση
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`?re`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αναζήτηση, προς τα πίσω, του `re`, όπου `re` μια οποιαδήποτε συμβολοσειρά ή κανονική έκφραση
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`n`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   επανάληψη τελευταίας αναζήτησης προς τα κάτω
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`N`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   επανάληψη τελευταίας αναζήτησης προς τα πάνω
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [6. Διαχείρηση Αρχείων]{#s6}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:w<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αποθήκευση αλλαγών στο αρχικό αρχείο
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:w filename<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αποθήκευση αλλαγών στο `filename`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:wq<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αποθήκευση αλλαγών στο αρχικό αρχείο και τερματισμός του `VI`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:e filename<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   ανοίγει το `filename` (αν δεν υπάρχει δημιουργεί ένα άδειο), θα εμφανιστεί προειδοποίηση σε περίπτωση που δεν έχουν αποθηκευτεί οι αλλαγές του αρχικού
							 | 
						|||
| 
								 | 
							
								    αρχείου
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:e! filename<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   ανοίγει το `filename` ανεξάρτητα από το αν έχουν αποθηκευτεί οι αλλαγές του πρώτου ή όχι
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:r filename<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   προσθέτει τα περιεχόμενα του αρχείου `filename` στη θέση του δρομέα
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:r <!unix_cmd><CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   προσθέτει την έξοδο της εντολής `unix_cmd` στη θέση του δρομέα
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:q <CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   έξοδος από τον `VI`, θα εμφανιστεί προειδοποίηση σε περίπτωση που δεν έχουν αποθηκευτεί οι αλλαγές
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:q! <CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   έξοδος από τον `VI`, ανεξάρτητα από το αν έχουν αποθηκευτεί οι αλλαγές του αρχείου
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [7. Διαχείριση περιοχών μνήμης προσωρινής αποθήκευσης (buffers)]{#s7}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Εκτός από την γενικής χρήσης ή ανώνυμη μνήμη αποθήκευσης υπάρχουν και οι επώνυμες, μία για κάθε (μικρό) γράμμα του λατινικού αλφαβήτου.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`y[E]`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αντιγραφή του κειμένου, από το δρομέα εώς το σημείο που προσδιορίζει το `[E]`, στη γενικής χρήσης μνήμη
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`Y`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αντιγραφή της ενεργής γραμμής στη γενικής χρήσης μνήμη, ισοδύναμο του `yy`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`"ay[E]`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αντιγραφή του κειμένου, από το δρομέα εώς το σημείο που προσδιορίζει το `[E]`, στην επώνυμη μνήμη `a`, όπου `a` οποιοδήποτε μικρό γράμμα του λατινικού
							 | 
						|||
| 
								 | 
							
								    αλφαβήτου
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`p P`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   επικόλληση του περιεχομένου της γενικής χρήσης προσωρινής μνήμης μετά ή πριν τη θέση του δρομέα ή την ενεργή γραμμή (ανάλογα με το αν η μνήμη έχει λέξεις ή
							 | 
						|||
| 
								 | 
							
								    γραμμές)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`"ap "aP`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   επικόλληση του περιεχομένου της προσωρινής μνήμης `a` μετά ή πριν τη θέση του δρομέα
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [8. Διάφορες εντολές]{#s8}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:sh`\<CR\>**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   προσωρινή έξοδος στο κέλυφος (shell), επιστροφή με `exit`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:!unix_cmd`\<CR\>**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   εκτέλεση της εντολής `unix_cmd`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:cd dir_name`\<CR\>**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αλλαγή ενεργού καταλόγου στον `dir_name`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`^G`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   εμφανίζει το όνομα του αρχείου, ένδειξη τροποποίησης ή όχι, αρ.γραμμής και θέση του δρομέα στο αρχείο σε ποσοστό %
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`^Z`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   προσωρινή διακοπή του `VI`, επιστροφή με fg
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### [9. Παραδείγματα]{#s9}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`c4Wtext`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αλλαγή των 4 επόμενων λέξεων με το `text` (όπου λέξη οποιαδήποτε σειρά χαρακτήρων δεν περιέχει το κενό)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`d4wtext`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   διαγραφή των 4 επόμενων λέξεων (όπου λέξη οποιαδήποτε σειρά γραμμάτων και ψηφίων)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`d0`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   διαγραφή του κειμένου από τη θέση του δρομέα εώς την αρχή της γραμμής
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`d$`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   διαγραφή του κειμένου από τη θέση του δρομέα εώς το τέλος της γραμμής
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`dN|`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   διαγραφή του κειμένου από τη θέση του δρομέα εώς τη στήλη `N`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:11d<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   διαγραφή της 11ης γραμμής
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:.,.+3d<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   διαγραφή της ενεργής γραμμής και των τριών επόμενων
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:.,$d<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   διαγραφή από την ενεργή γραμμή εώς το τέλος του αρχείου
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`4~`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αλλαγή των κεφαλαίων γραμμάτων σε μικρών και αντίστροφα, για τους επόμενους τέσσερεις χαρακτήρες
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`3u`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   ακυρώνει τις τρεις τελευταίες ενέργειες (undo)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`f*`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   μετακίνηση του δρομέα στο πρώτο `*`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`3f*`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   μετακίνηση του δρομέα στο τρίτο `*`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`y2fB`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αντιγραφή του κειμένου από το δρομέα εώς το δεύτερο B, στη γενικής χρήσης (ανώνυμη) μνήμη
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`d5fa`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   διαγραφή του κειμένου από το δρομέα εώς το πέμπτο a, αντιγραφή στη γενικής χρήσης (ανώνυμη) μνήμη
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`c5fatext`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αλλαγή του κειμένου από το δρομέα εώς το πέμπτο a με το `text`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:s/text1/text2/<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αντικατάσταση του πρώτου `text1` που θα βρεθεί στην ενεργή γραμμή με το `text2`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:s/text1/text2/g<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αντικατάσταση όλων των `text1` που θα βρεθούν στην ενεργή γραμμή με το `text2`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:s/text1/text2/gc<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αντικατάσταση όλων των `text1` που θα βρεθούν στην ενεργή γραμμή, με το `text2`, μετά από επιβεβαίωση
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:5,11 s/text1/text2/<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αντικατάσταση του πρώτου `text1` που θα βρεθεί στις γραμμές 5 εώς και 11, με το `text2`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:.,.+3 s/text1/text2/gc<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αντικατάσταση όλων των `text1` που θα βρεθούν στην ενεργή γραμμή και στις 3 επόμενες, με το `text2`, μετά από επιβεβαίωση
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`:.,$ s/text1/text2/gc<CR>`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αντικατάσταση όλων των `text1` που θα βρεθούν από την ενεργή γραμμή εώς και το τέλος του αρχείου, με το `text2`, μετά από επιβεβαίωση
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`"ayf.`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αντιγραφή του κειμένου από το δρομέα εώς την πρώτη τελεία, στην επώνυμη μνήμη `a`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`"ap`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   επικόλληση του περιεχομένου της επώνυμης μνήμης `a`, στα δεξιά του δρομέα
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`"zy2f)`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   αντιγραφή του κειμένου από το δρομέα εώς τη δεύτερη παρένθεση, στην επώνυμη μνήμη `z`
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								**`"zP`**
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								:   επικόλληση του περιεχομένου της επώνυμης μνήμης `z`, στη θέση του δρομέα
							 | 
						|||
| 
								 | 
							
								
							 |