Magaz, The Greek Linux Magazine
Magaz Logo

Επόμενο  Περιεχόμενα

1. Practical leaflet

tip 1: Για να βλέπετε στο κάτω μέρος της οθόνης την τρέχουσα γραμμή και στήλη:


:set ruler 

(αν θέλετε τέτοιες ρυθμισεις να ισχύουν πάντα δημιουργείστε στο $HOME σας ένα αρχείο .vimrc και γράψτε εκεί την παραπάνω εντολή).

tip 2: Διαλέξτε κομμάτια κειμένου με τα πλήκτρα (σαν να χρηιμοποιείτε ποντίκι):
Πατήστε v για VISUAL MODE. Με τα πλήκτρα διαλέξτε τις γραμμές του κείμενο που θέλετε. Λειτουργεί το page-up, page-down για να διαλέξετε ολόκληρες οθόνη. Μπορείτε να χρησιμοποιείσετε regular expressions (π.χ. /test) για να επιλέξω το κείμενο μέχρι την πρώτη εμφάνιση της λέξης test.
Εναλλακτικά,. πατήστε Ctrl-v για VISUAL BLOCK και διαλέξτε το κείμενο που θέλετε κατά στήλες (κατακόρυφα).

  • Αντιγράφετε το κείμενο.
  • Με p κάνετε επικόλληση (paste).
  • Με d διαγράφετε το μαρκαρισμένο κείμενο.

tip 3: Πως αφαιρούμε ΟΛΑ τα html tags από μια html σελίδα και μένει μόνο plain text κείμενο:


:g/<[^>]*>/s///g 

tip 4: Πώς σβήνουμε το mail header από ένα email, ώστε να μείνει μόνο το body του:


:1,/^$/d 

(ουσιαστικά σβήνουμε από την 1η γραμμή μέχρι να βρούμε την πρώτη κενή γραμμή)

tip 5: Πως αντικαθιστούμε τη λέξη καλό με τη λέξη πολύ καλό σε όλο το κείμενο και σε όλες τις εμφανίσεις σε κάθε γραμμή, με χρήση του τελεστή &:


:%s/καλό/πολύ &/g 
(εναλλακτικά :%s/καλό/πολύ καλό/g, αν και δεν είναι και τόσο δυναμικό)

tip 6: Πως κλείνουμε σε /* ... */ την τρέχουσα γραμμή:


:s/.*/\/* & *\// 

tip 7: Πως βάζουμε τις 5 πρώτες γραμμές σε σχόλια τύπου shell (#):


:1,5s/.*/# &/ 
(ή ισοδύναμα :1,5s/^/# /) 

tip 8: Πως διαγράφουμε όλες τις κενές γραμμές του κειμένου:


:g/^$/d 

tip 9: Πως σβήνουμε τα κενά πριν από κάθε γραμμή


:g/^   *\(.*\)/s//\1/g 
(ή ισοδύναμα :g/^   */s///g) 

tip 10: Πως διπλασιάζουμε τον αριθμό των κενών μεταξύ των λέξεων


:%s/  */&&/g 

tip 11: Ανταλλαγή μέρας-μήνα. Η ημερομηνία από τη μορφή 21-03-1999 θα γίνει 03-21-1999


:%s/\([0-9]\{1,2\}\)-\([0-9]\{1,2\}\)-\([0-9]\{4\}\)/\2-\1-\3/g 

tip 12: Πώς αντιστρέφουμε 2 στήλες που διαχωρίζονται μεταξύ τους με άνω κάτω τελεία :


:%s/\(.*\):\(.*\)/\2:\1/g 
(ναι, με awk είναι πιο εύκολο, όντως!) 

tip 13: Πως διαγράφουμε τους 4 πρώτους χαρακτήρες σε κάθε γραμμή του κειμένου


:%s/^....//g 

tip 14: Σε περίπτωση που γράφουμε ένα βιβλίο με references της μορφής "Δείτε το κεφάλαιο ΧΧ.ΥΥ", όπου Χ και Y αριθμοί, και θέλουμε να βάλουμε τέτοιες εμφανίσεις σε παρενθέσεις:


:%s/Δείτε το Κεφάλαιο [1-9][0-9]*\.[1-9][0-9]*/(&)/g 

tip 16: Βαρεθήκατε να χρησιμοποιείτε το \ σαν unescape χαρακτήρα για τον χαρακτήρα /; Αλλάξτε το διαχωριστή (delimiter) / της εντολής s (π.χ. με τον χαρακτήρα θαυμαστικό !).
Παράδειγμα: Θέλω να αντικαταστήσω το /usr/doc/HOWTO /usr1/doc2/HOWTO3:


:%s/\/usr\/doc\/HOWTO/\/usr1\/doc2\/HOWTO3 (ο παλιός δύσκολος τρόπος)
:%s!/usr/doc/HOWTO!/usr1/doc2/HOWTO3! (ο νέος και εύκολος)

tip16: Α....εννοείτε πως για να ψάξουμε για μια έκφραση (π.χ. lalakis) η εντολή είναι:


/lalakis

Επόμενο  Περιεχόμενα


Valid HTML 4.01!   Valid CSS!