Διαχείριση των 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;