Διαχείριση των plugins στο vim

Vim

Η επιλογή προγράμματος επεξεργασίας κειμένου, κοινώς editor, συνεχώς προκαλεί μάχες στο internet, για το ποιός είναι ο καλύτερος editor, ειδικά ανάμεσα σε προγραμματιστές. Η δική μου επιλογή είναι ο vim.

Στους αμύητους ο vim μοιάζει απαρχαιωμένος και στρυφνός, για όποιον όμως έχει δουλέψει με αυτόν για λίγο καιρό αρχίζει και κατανοεί τη δύναμή του.

Πέρα από τις όποιες εγγενής λειτουργίες του vim, υπάρχει η δυνατότητα, μέσω plugins (ή αλλιώς scripts), να το επεκτείνουμε και να το προσαρμόσουμε στις επιθυμίες μας.

Μέχρι τώρα, στον υπολογιστή του σπιτιού μου, χρησιμοποιούσα 2-3 μόλις plugins, κυρίως κάποια που μου ήταν γνωστά από τη δουλειά (όπου έμαθα και το vim). Για την εγκατάσταση και διαχείριση αυτών των plugins, απλά κατέβαζα από το vim.org τα αρχεία και τα έβαζα στο φάκελο ‘plugin’ (ή όπου αλλού χρειαζόταν) του vim.

Ψάχνοντας όμως πρόσφατα να χρησιμοποιήσω κάποια plugins προσανατολισμένα για ανάπτυξη εφαρμογών σε Rails, έπεσα πάνω σε ένα πρόβλημα αλλά και τη λύση αυτού. Πως διαχειρίζεσαι ένα μεγάλο αριθμό plugin, που μπορεί να θες να βάλεις, να βγάλεις ή να κάνεις update κάποιο από αυτά;

vim-pathogen

Αρχικά έπεσα πάνω στο vim-pathogen που σε βοηθάει να διαχειριστείς τα (υπόλοιπα) plugins. Με το κλασσικό τρόπο, ένα από τα μειονεκτήματα είναι ότι κάποιο plugin μπορεί να έπρεπε να μπει σε ένα φάκελο, κάποιο άλλο σε άλλο φάκελο και κάποιο άλλο να έχει αρχεία που πρέπει να μπούνε σε διαφορετικούς φακέλους. Το vim-pathogen επιτρέπει την εγκατάσταση κάθε plugin στο δικό του φάκελο και έτσι μπορεί κανείς εύκολα να προσθέτει ή να αφαιρεί ή να ενημερώνει (ιδανικά μέσω source control, π.χ. με git) κατά το δοκούν. Η ενημέρωση όμως κάθε plugin εξακολουθεί να γίνεται χειροκίνητα από το χρήστη.

Vundle

Στη συνέχεια βρήκα το vundle. Το vundle (από το vim & bundle) πάει την ιδέα του vim-pathogen ένα βήμα παραπέρα. Πλέον μπορείς απλά να ορίσεις στο configuration file (στο vimrc ή ακόμα καλύτερα σε ένα ξεχωριστό αρχείο π.χ. bundles.vim) ποιό plugin επιθυμείς να έχεις και γίνεται αυτόματα η λήψη και εγκατάσταση ή ενημέρωση! (απαραίτητη προϋπόθεση να είναι εγκατεστημένο το git και τα plugins να βρίσκονται είτε στο github ή στο vim-scripts.org ή να δοθεί μια διεύθυνση σε git repository).

Εγώ μόλις ξεκίνησα να το χρησιμοποιώ και οι πρώτες εντυπώσεις είναι πολύ καλές!

Συμβουλή για όσους θελήσουν να το χρησιμοποιήσουν (κάτι που εμένα με παίδεψε πολύ): μη βάζετε σχόλια μετά την εντολή ‘Bundle’ αλλά σε διαφορετική γραμμή.

Vundle ή Pathogen;

Η γρήγορη απάντηση είναι vundle, και αυτό έχω επιλέξει προς το παρών. Ωστόσο η απόφαση είναι δική σας.

Εσείς με ποιό τρόπο διαχειρίζεστε τα plugins σας στο vim;

Το 2013 φτιάξτε από ένα παιχνίδι το μήνα!

Με το που πλησιάζει ο καινούριος χρόνος υπάρχει η συνήθεια να βάζουμε στόχους για το νέο έτος. Άλλοι λένε ότι θα χάσουν βάρος, άλλοι ότι θα γυμνάζονται περισσότερο, τα παιδιά ότι θα είναι καλύτεροι μαθητές κτλ.

Υπάρχουν όμως και λίγο πιο ασυνήθιστοι στόχοι. Πριν από μερικές ημέρες έπεσα πάνω σε μια σελίδα που μας προτρέπει το νέο έτος να φτιάξουμε από ένα παιχνίδι το μήνα. Προφανώς η σελίδα απευθύνεται σε ένα συγκεκριμένο κοινό. Σε αυτούς που είναι (ή θα ήθελαν να είναι) προγραμματιστές παιχνιδιών.

Αν σας φαίνεται πολύ δύσκολο εγχείρημα δεν έχετε άδικο. Όμως δεν είναι ακατόρθωτο. Ο ίδιος ο εμπνευστής της σελίδας κατάφερε να φτιάχνει από ένα παιχνίδι το μήνα το 2012. Μάλιστα περιγράφει την εμπειρία του σε ένα ενδιαφέρον άρθρο και μας προτρέπει να τον μιμηθούμε για το 2013!

Οι κανόνες είναι απλοί: δεν υπάρχουν κανόνες. Μπορείτε να φτιάξετε παιχνίδια με όποιο τρόπο και περιεχόμενο θέλετε, ακόμα και επιτραπέζια. Ήδη είναι εκατοντάδες αυτοί που γράφτηκαν στη σελίδα. Ανάμεσα τους είμαι και εγώ, αν και η αλήθεια είναι ότι εξαρχής δεν έχω σκοπό να το τηρήσω. Απλά μου φάνηκε ενδιαφέρον και σκέφτηκα ότι έστω και ένα παιχνίδι να καταφέρω να κάνω μέσα σε ένα χρόνο καλό θα είναι.

Εσείς τι στόχους βάλατε για το 2013;