در جامعهی برنامهنویسی و اوپنسورس، نام Bram Moolenaar از اهمیت بالایی برخوردار است. درگذشت او میراثی را پشت سر میگذارد که نحوهی تفکر و تعامل برنامهنویسان با کدنویسی را در دهههای گذشته تحت تاثیر قرار دادهاست. ماندگارترین میراث او توسعهی ویرایشگر Vim بود، که نه تنها شیوهی ویرایش متن را متحول کرد، بلکه اثری پاک نشدنی بر جامعهي اوپنسورس گذاشت. در این مقاله ما به بررسی مسیر ساخت Vim میپردازیم.
دوران شکلگیری ویرایشگرهای متن
در دههی ۶۰ و ۷۰ میلادی به علت محدودیت منابع کامپیوترها، ویرایشگرهای موثر و کارآمدی وجود نداشت. برای مثال، در ویرایشگر BE اگر یکی از خطهای متن از صفحه بیرون میزد، ویرایشگر آن خط را کامل برای شما حذف میکرد!! چند سال بعد تلاشهای Bill Joy دانشجوی دکترای دانشگاه برکلی، منجر به ساخت Vi شد.
Vi که مخفف Visual است، یک ویرایشگر متنی سبک و در عین حال قدرتمند است که متناسب با سیستمهای محدود آن زمان طراحی شده بود. ویژگی خاص Vi این بود که میتوانست به طور موثر نیازهای یک ویرایشگر را برای برنامهنویسان برطرف کند و همچنین نمایشی بصری از محتوای در حال ویرایش را ارائه دهد. چرا که ویرایشگرهای قبل از Vi معمولاً محتوای در حال ویرایش را همانطور که امروزه به آن عادت کردهایم، روی صفحه نمایش نمیدادند!! پس این ویرایشگر به سرعت بین برنامهنویسها محبوبیت ویژهای پیدا کرد، به شکلی که ویرایشگر Vi به صورت پیشفرض به سیستمعاملهایی از جمله خانوادهي سیستم عاملهای BSD, توزیعهای گنولینوکس و سیستمهای بر پایه یونیکس اضافه شد.
برام مولنار و تولد ویم
برام مولنار، برنامهنویس هلندی، در 23 ژوئن 1961 به دنیا آمد. Vim که مخفف “Vi IMproved” است، یک ویرایشگر متنی قدرتمند و بسیار قابل تنظیم است که نسخهی پیشرفتهتر و بهبودیافتهی ویرایشگر متنی Vi است. انگیزهي مولنار برای ایجاد Vim از تمایل او برای از بین بردن محدودیتهای Vi و در عین حال ترکیب ویژگیهایی جدید و نوآورانه که فرآیند ویرایش متن را ساده کند نشئت میگیرد. در حالی که Vim عملکرد اصلی Vi را حفظ میکند، اما ویژگیهایی را عرضه کرد که آن را به ابزاری قدرتمندتر و همهکاره برای ویرایش متن تبدیل میکند. در اینجا به برخی از تفاوتها و پیشرفتهای کلیدی اشاره میشود:
- دستورات
در Vim حالتهای مختلفی از جمله حالت دستور(Command Mode) و حالت افزودن(Insert Mode) اضافه شد که در هر یکی از این حالتها دستورات عملکردهای متفاوتی دارند. برای مثال، در حالت دستور کاربران می توانند از دستورات تک کاراکتری برای حرکت مکان نما، حذف، کپی و ویرایش متن استفاده کنند. Vim همچنین از اقدامات پیشرفتهتری مانند جستجو و جایگزین کردن پشتیبانی میکند. لازم به ذکر است که این قدرت و ویژگیهای Vim ممکن است باب میل تازهکاران نباشد چرا که همان اول برای خروج از Vim به مشکل برخواهید خورد :))
- پشتیبانی از افزونهها
این ویژگی به کاربران اجازه میدهد تا عملکرد ویرایشگر را مطابق با نیازهای خاص خود تغییر دهند. افزونهها اسکریپتها یا پکیجهایی هستند که توسط انجمن یا افراد مختلف برای افزایش قابلیتهای Vim ایجاد شدهاند. کاربران میتوانند افزونهها را به صورت دستی یا از طریق پکیج منیجرهایی مانند Vundle، Pathogen یا Vim-Plug نصب کنند. این افزونهها به سازگاری Vim با نیازهای متفاوت افراد کمک کرده است و این فرصت را به برنامهنویسان میدهد تا آن را به یک ویرایشگر بسیار تخصصی برای کارهای مختلف روزمزهی خود تبدیل کنند. - امکان تقسیم پنجرهی ویرایشگر
این ویژگی کارکردن به طور همزمان با چندین فایل یا بخشهایی از یک فایل را متحول می کند. با تقسیم پنجره ویرایشگر به صفحات جداگانه، کاربران می توانند قسمتهای مختلف محتوای خود را در کنار هم مشاهده و ویرایش کنند. Vim هر دو تقسیم افقی و عمودی را ارائه میدهد و به کاربران این امکان را میدهد که صفحهی خود را مطابق با نیاز خود تنظیم کنند. این قابلیت Vim با حذف نیاز به باز کردن چندین نمونه از ویرایشگر یا جابجایی مداوم بین تب ها، سرعت کار را افزایش می دهد. - تب ها و بافرها
در Vim، تبها و بافرها روشی برای مدیریت چندین فایل در ویرایشگر ارائه می کنند. تبها بهعنوان نگهدارندههایی برای یک یا چند بافر عمل میکنند که فایلهایی که در حال ویرایش هستند را نشان میدهد. تبها و سیستم بافر Vim راه مناسبی را برای نگهداشتن فایلهای مرتبط با هم ارائه میکند که از به هم ریختگی صفحه جلوگیری مینماید. - شخصیسازی
شخصیسازی سنگ بنای جذابیت Vim است که به کاربران این امکان را میدهد ویرایشگر را مطابق ترجیحات و روش کار خود شکل دهند. Vim گزینههای شخصیسازی زیادی را ارائه میکند، از تغییر وظیفه کلیدها تا تغییر رنگها و تغییرات پیشرفتهتر. فایل “vimrc.” به عنوان یک هستهی مرکزی برای این شخصیسازی ها عمل میکند که به کاربران این اجازه را میدهد تا گزینههای مختلفی را تنظیم کنند و یا افزونهها را بارگیری کنند. گزینههای شخصیسازی این امکان را به کاربر میدهد تا محیطی متناسب ایجاد کند که بهرهوری را به حداکثر برساند.
تعهد دوگانه برام مولنار به نرم افزار و بشردوستی
برام مولنار، علاوه بر Vim، بلکه به خاطر فعالیت های بشردوستانهاش نیز شهرت دارد. او موسسه خیریه ICCF، را برای حمایت از کودکانمحروم در اوگاندا با هدف توسعهی آموزش، بهداشت و تغذیه برای کودکان تأسیس کرد. او با ارتقاء سطح آموزش و ایجاد زیرساختهای مناسب، سعی در کمک به رشد و توسعهی جامعهی کودکان اوگاندا داشت تا آیندهی بهتری را برای آنها ایجاد نماید. در کنار مشارکتهایش در توسعه نرمافزار، فعالیتهای مولنار برای ICCF، نشان دهنده تعهد او به ایجاد تأثیری معنادار و تغییرات مثبت فراتر از دنیای نرمافزار است. در عکس زیر صفحهی اصلی ویرایشگر ویم را میبینید که دستوری اختصاصی برای اطلاعرسانی در این رابطه وجود دارد.
جمعبندی
در دنیای فناوری، بعضی از نامها یادآور تاثیرگذاری و نوآوری میشود که برام مولنار بدون شک یکی از آنهاست. روح انساندوستانهی مولنار از طریق تلاشهای خیریهی او در اوگاندا به خوبی میدرخشد و اعتقاد او را به استفاده از تکنولوژی برای ارتقاء و توانمندسازی جوامع محروم نشان میدهد. فلسفهی زندگی او به ما یادآور میشود که عظمت واقعی در استفاده از استعدادهای خود برای بهبود بشریت نهفته است.
on برام مولنار سازنده Vim