Το Vim 9.1 κυκλοφορεί πλέον και για classic AmigaOS, φέρνοντας μια πρόσφατη έκδοση του γνωστού text editor σε 68k μηχανήματα. Είναι η πρώτη φορά εδώ και 25 χρόνια που υπάρχει λειτουργικό Vim για την πλατφόρμα, με υποστήριξη για AmigaOS 3.x και CPU 68020 ή νεότερη.
Για όσους δεν το γνωρίζουν, το Vim είναι ένας text editor που χρησιμοποιείται πολύ στην επεξεργασία κειμένου και στον προγραμματισμό. Δε δουλεύει όπως οι κλασικοί editors με παράθυρα και κουμπιά. Η χρήση του βασίζεται κυρίως στο πληκτρολόγιο, με εντολές και συντομεύσεις, και γι’ αυτό παραμένει γρήγορο και ευέλικτο ακόμη και σε παλιό hardware.
Η έκδοση που φτάνει στο AmigaOS
Η μεταφορά αυτή βασίζεται στο Vim 9.1 του 2024 και, σύμφωνα με την καταχώριση στο Aminet, φέρνει στο AmigaOS 3.x δυνατότητες που έλειπαν από το 68k port από το 1998. Το προηγούμενο working 68k Vim ήταν το 5.8, οπότε υπάρχει ένα μεγάλο κενό που καλύπτεται τώρα.
Η έκδοση περιλαμβάνει τα FEAT_NORMAL χαρακτηριστικά και υποστηρίζει:
- syntax highlighting
- code folding
- split windows
- Vimscript
- Vim9 script
- spell checking
- diff mode
- blowfish encryption
- το πλήρες regex engine
Πώς έγινε το port
Το port έγινε από τον Duncan Bowring με το amiport, ένα AI-assisted porting toolkit. Το project βρίσκεται στο GitHub.
Η μεταγλώττιση έγινε με m68k-amigaos-gcc για AmigaOS 3.x, με στόχο επεξεργαστές 68020 και πάνω. Το build χρησιμοποιεί -Os -noixemul, άρα βγαίνει ως standalone binary χωρίς να χρειάζεται το ixemul.library.
Τι χρειάζεται για να τρέξει
Σύμφωνα με τη σελίδα του πακέτου, οι βασικές απαιτήσεις είναι οι εξής:
- CPU 68020 ή νεότερη
- AmigaOS 3.0 ή νεότερο
- προτείνεται 4MB RAM και πάνω
- χωρίς εξωτερικές libraries, λόγω του
-noixemulbuild
Το binary είναι 2.2MB, ενώ το πακέτο περιλαμβάνει και τον πλήρη πηγαίο κώδικα, μαζί με το PORT.md που καταγράφει τις αλλαγές που έγιναν.
Εγκατάσταση και χρήση
Η εγκατάσταση είναι απλή. Αρκεί να αντιγράψει κανείς το vim στο C: ή σε οποιονδήποτε φάκελο βρίσκεται στο path.
Προαιρετικά, μπορεί να δημιουργηθεί ο φάκελος S:vim/ για τα runtime αρχεία, όπως:
- syntax highlighting
- color schemes
- help files
Σε αυτή την περίπτωση, πρέπει να οριστεί και η μεταβλητή περιβάλλοντος:
setenv VIM S:vimΑν δεν υπάρχουν runtime files, το Vim συνεχίζει να δουλεύει κανονικά ως editor, απλώς χωρίς syntax coloring και χωρίς help.
Βασικές εντολές
Η καταχώριση περιλαμβάνει και μερικά απλά παραδείγματα χρήσης:
vim file.txt— επεξεργασία αρχείουvim -R file.txt— read-only modevim -o file1 file2— άνοιγμα αρχείων σε split windowsvim -c "set number" file— άνοιγμα με αριθμούς γραμμώνvim -u NONE file— εκκίνηση χωρίς φόρτωση ρυθμίσεων
Μέσα στο Vim, οι βασικές εντολές είναι οι εξής:
i— insert modeESC— επιστροφή στο normal mode:w— αποθήκευση:q— έξοδος:q!— έξοδος χωρίς αποθήκευση:wq— αποθήκευση και έξοδος/pattern— αναζήτηση προς τα εμπρόςdd— διαγραφή τρέχουσας γραμμήςu— αναίρεση τελευταίας αλλαγής:split— οριζόντιο split του παραθύρου
Περιορισμοί που αναφέρονται
Η μεταφορά έχει και μερικούς γνωστούς περιορισμούς:
- δεν υπάρχει terminal job/channel support, επειδή χρειάζεται PTY που δεν είναι διαθέσιμο στο AmigaOS
- δεν υπάρχει cscope integration, αφού απαιτεί
fork/exec - δεν υπάρχει clipboard ή GUI integration, γιατί η έκδοση είναι console-only
- δεν υπάρχει UTF-8 υποστήριξη, οπότε τα UTF-8 αρχεία εμφανίζονται ως raw bytes
- το diff mode χρειάζεται ξεχωριστή
diffεντολή στοPATH
Στοιχεία build και έλεγχοι
Στα build notes αναφέρονται επίσης:
- compiler:
m68k-amigaos-gcc 6.5.0b (bebbo) - flags:
-Os -noixemul -m68020 -std=gnu99 -DFEAT_NORMAL - source: 93 C files και 385.000 γραμμές κώδικα
- binary: 2.2MB stripped
- stack: 256KB
Η έκδοση δοκιμάστηκε σε FS-UAE με Workbench 3.1 και πέρασε 23 automated tests.
Λήψη
Το πακέτο είναι διαθέσιμο στο Aminet στη σελίδα του αρχείου vim-9.1, μαζί με το .lha αρχείο και το readme.