Vim के बॉस, Bram Moolenaar
(neovim.io)- Bram Moolenaar ने Vim के source, documentation और
vim_devमें समस्या-समाधान केंद्रित रवैया छोड़ा, और Neovim खुद को Vim और Bram की विरासत को आगे बढ़ाने वाला project मानता है - बदतमीज़ प्रतिक्रियाओं या निजी निर्णयों के बजाय समस्या की समझ को आगे बढ़ाने का तरीका Bram की ताकत के रूप में सामने आया, और उन्हें एक ऐसे व्यक्ति के रूप में याद किया जाता है जिसने शांत रहते हुए गहरी कीमत रची
- Vim commit messages का Problem/Solution सिद्धांत सरल लेकिन प्रभावी है, और Uganda सहायता में भी यह resources को abstract न करके सीधे manage करने के रवैये से जुड़ा
- Neovim, Vim के derivative के रूप में continuity और divergence दोनों को स्वीकार करता है, और maintenance, documentation, extensibility और embedding को आगे बढ़ाने के मुख्य स्तंभ मानता है
- Neovim जिस दिशा को विरासत में लेना चाहता है, वह नएपन के लिए नयापन नहीं, बल्कि लक्ष्य को न भूलते हुए actions की results से तुलना करने वाला pragmatism है
Bram द्वारा छोड़ा गया समस्या-समाधान का तरीका
- Bram ने तकनीकी craftsmanship से आगे बढ़कर विनम्र रवैया और वास्तविकता में टिके problem-solving का तरीका दिखाया
vim_dev, Vim source और documentation में Bram के शब्दों और फैसलों के साथ-साथ वे choices भी दर्ज हैं जो उन्होंने नहीं चुनीं- सनसनीखेज अभिव्यक्तियों या निजी judgments पर निर्भर नहीं होना
- अशिष्ट व्यवहार मिलने पर भी अक्सर ऐसी प्रतिक्रिया देना जिससे हल की जाने वाली समस्या को बेहतर समझा जा सके
- Vim commit messages का Problem/Solution नारा सरल लेकिन शक्तिशाली working principle की तरह काम करता है
- Bram ने Uganda के लोगों की मदद करने में भी resources को abstract रूप में संभालने के बजाय सीधे manage करने का तरीका चुना
- विनम्रता एक ऐसी सोच है जो प्रयासों को “narrow waist” जैसी स्वेच्छिक constraints से गुजारती है, और अधिक composable व शक्तिशाली परिणाम बना सकती है
- unimpaired जैसे plugins इस flow के variation का उदाहरण हैं
- Emacs और Vim जैसे lifestyle software की उपयोगिता ideology से ज्यादा जीवित ecosystem और self-sustaining momentum में है
Neovim ने क्या आगे बढ़ाया और कहां अलग हुआ
- Neovim शुरुआत से ही Vim के derivative के रूप में स्थापित हुआ, और Vim को आगे बढ़ाते हुए Vim से अलग होने वाला स्वभाव भी साथ रखता है
- fork energy को नष्ट करने के बजाय बनाता है—इस नजरिए से, Bram के बिना Vim को वैसा का वैसा आगे नहीं पहुंचाया जा सकता, लेकिन कुछ मूलभूत तत्वों को जारी रखा जा सकता है
-
Maintenance और documentation
- Maintenance: experimentation जरूरी है, और creative destruction व playful failure भी मूल्यवान हैं, लेकिन Neovim नएपन की चाह यानी “neomania” का प्रतिनिधि नहीं है
- Documentation: Vim documentation की आदत स्पष्ट है, और यह Nvim को Vim पर build होने से मिले बड़े फायदों में से एक है
-
Extensibility और embedding
- Extensibility: Bram का Agide project भी Neovim जैसी extensibility की ओर था, और एक single application नहीं बल्कि अलग tools को plug-in करके इस्तेमाल करने का तरीका सामने रखता था
- Embedding: Vim का
:help design-notVim को shell या operating system बनाने के बजाय, shell या IDE में component के रूप में इस्तेमाल करने की दिशा बताता है - Bram खुद को जरूरत से ज्यादा गंभीरता से नहीं लेते थे, और उनका अपना sense of humor भी था
- Neovim को Vim और Bram के लिए स्मारक बने रहना चाहिए, लेकिन dogma के बजाय practicality चुननी चाहिए और goals व results के आधार पर अपने actions पर दोबारा नजर डालनी चाहिए
1 टिप्पणियां
Hacker News टिप्पणियां
Bram का आभार
मैं 30 साल से ज़्यादा समय से Vim इस्तेमाल कर रहा हूं, हाल में कभी-कभी Neovim भी इस्तेमाल करता हूं, और स्कूल में कई BSD सिस्टमों पर
viइस्तेमाल किया था। अपने करियर भर लगभग हर कामकाजी दिन इसे इस्तेमाल किया, लेकिन कभी Vim mailing list में शामिल नहीं हुआ, कभी सवाल नहीं पूछा, न ही कभी bug report दीक्योंकि इसकी ज़रूरत ही नहीं पड़ी। कभी bug नहीं मिला, और जो भी सवाल थे वे हमेशा बिल्ट-इन docs से हल हो गए। यह एक बेहतरीन व्यक्ति के नेतृत्व वाला बेहतरीन software project था, और बड़ी प्रेरणा है
इसके उलट, अपेक्षाकृत सरल systems में भी documentation न होने पर, या एक बार बहुत खराब documentation की वजह से, मुझे कहीं ज़्यादा पूछताछ और छानबीन करनी पड़ी
Vim में आत्मा है। यह ऐसा tool है जिसे आप दादा से विरासत में मिली छेनी की तरह लगातार इस्तेमाल करते रहते हैं
भले ही इसमें नए product जैसा मुलायम rubber grip न हो, लेकिन यह हाथ में अच्छी तरह फिट बैठता है और आरामदायक है। यह अपनी खुद की history वाला tool है
यहां की टिप्पणियां देखकर लगता है कि hacker spirit अभी भी ज़िंदा है। आज की कोई नई, अरबों डॉलर की युवा company 10–20 साल बाद किसी और चीज़ से बदल जाएगी, लेकिन Vim बचा रहेगा। किसी दिन मैं अपना Vim जैसा कुछ बनाना चाहता हूं
Bram के गुजरने के बाद मैंने अपनी Vim यात्रा पर पीछे मुड़कर देखा। पिछले 10 वर्षों में university projects से लेकर FAANG और सब कुछ जलता हुआ startup तक, यह मेरा एकमात्र अटल professional companion रहा
गर्व करने लायक काम, शर्मनाक काम, promotion तक ले जाने वाला काम, और लाखों डॉलर के outage तक ले जाने वाला काम—सब Vim में किया। operating systems, databases, programming languages, companies, colleagues आते-जाते रहे, लेकिन Vim हमेशा बना रहा
Bram का आभार
linked article [0] में Bram की GitHub activity का screenshot और यह वाक्य है
“जब मैंने Bram के गुजरने की खबर पढ़ी तो यह बात इतनी दिल को क्यों लगी, शायद इसलिए कि यह सब मिलकर जमा हो गया था। परिवार के message में साफ लिखा था कि Bram बीमार थे। कहा गया कि यह ‘पिछले कुछ हफ्तों में तेज़ी से बढ़ी medical condition’ थी। ज़्यादातर लोगों को यह पता नहीं था, इसलिए खबर और भी चौंकाने वाली थी।”
“और जब किसी ने Bram की हाल की GitHub activity की ओर ध्यान दिलाया, तो और भी दुख हुआ।”
https://github.com/brammool
[0] https://j11g.com/2023/08/07/the-legacy-of-bram-moolenaar/
साथ ही, Wikipedia की BDFL सूची देखें तो Bram † निशान वाले पहले व्यक्ति जैसे दिखते हैं
https://en.wikipedia.org/wiki/Benevolent_dictator_for_life
आज Netherlands के Utrecht railway station पर कुछ खास देखा। guide board पर hjkl अक्षर उल्टे क्रम में लिखे थे
ये अक्षर बताते हैं कि platform पर किस zone में जाना है। platform की लंबाई और train के दरवाज़ों की स्थिति के हिसाब से अक्षर दिखते हैं
https://postimg.cc/mcCWhMXw
लगा कि यह बहुत बड़ा संयोग है, या Dutch railway company NS में कोई Vim fan है जिसने Bram को इस तरह tribute दिया
आखिरकार यह संयोग भी हो सकता है, लेकिन मेरे लिए फिर भी खास था। मैंने train station पर ऐसा पहले कभी नहीं देखा था, और Bram के गुजरने के ठीक अगले हफ्ते अचानक दिखा
Dutch video: https://www.youtube.com/watch?v=JPvh9SaQbUY
कभी एक intern candidate का interview लिया था, जिसने गर्व से बताया कि mailing list पर उसने Bram से एक संभावित vulnerability को लेकर बहस की थी। Bram ने कहा था कि यह महत्वपूर्ण नहीं है, और इस युवा ने ज़ोर दिया कि यह महत्वपूर्ण है
हमने उसे hire नहीं किया। Bram की श्रद्धांजलि वाली posts देखकर लगता है कि लोग जिन Bram का वर्णन कर रहे हैं, वे अच्छे अर्थ में उस लड़के के बिल्कुल उलट थे
फिर भी मैं Bram की तरफ था। वह feature शुरू से ही cryptographic अर्थ में security को लक्ष्य बनाकर नहीं बनाया गया था
https://en.wikipedia.org/wiki/Benevolent_dictator_for_life में BDFL की सूची है। Bram उस सूची में गुजरने वाले पहले BDFL हैं
आने वाले 10 सालों में, या उसके बाद, पीढ़ीगत बदलाव आएगा। तैयारी करना सही है, और यही legacy और community को सुरक्षित रखने का तरीका है
Bram के परिवार और दोस्तों ने उनकी legacy और Vim के भविष्य का सम्मान करते हुए जिस तरह यह काम संभाला, वह प्रभावशाली था
लिंक किए गए लेखों में Jan van den Berg का यह लेख मुझे ज़्यादा अच्छा लगा
https://j11g.com/2023/08/07/the-legacy-of-bram-moolenaar/
एक प्रभावशाली वाक्य था: “Vim एक उत्कृष्ट कृति है, एक चमकदार और सटीक मशीन-टूल जिससे आधुनिक दौर की बहुत-सी चीज़ें तराशी गई हैं”
और यह लिंक भी है
https://m.youtube.com/watch?v=eX9m3g5J-XA
“7 Habits for Effective Text Editing 2.0”
यह 1 घंटा 20 मिनट का है, काश किसी के पास इसका transcript या summary हो। पहला comment मज़ेदार था: “7 घंटे सोते समय autoplay चालू छोड़ दिया था, तो Billie Eilish से होते-होते इस video तक आ गया”
ज़िंदगी अजीब है, और इसी वजह से अच्छी भी
वैसे मैं (Neo)vim भी नहीं इस्तेमाल करता और Emacs भी नहीं। “programmable” शब्द पढ़ते ही मैं दूर हो जाता हूँ। मुझे अपनी पसंद के fixed-function editor को कुछ मिनट configure करके सीधे इस्तेमाल करना ज़्यादा पसंद है। बस मेरी पसंद है
फिर भी अच्छा tool अपना उद्देश्य अच्छी तरह पूरा करता है। अच्छे tools और उन्हें बनाने वाले लोगों वाली दुनिया बेहतर दुनिया होती है। कभी-कभी उनकी legacy, philosophy और काम करने का तरीका छोड़े गए code या community के भीतर जीवित रहते हैं। Bram को नमन
यह Kakoune key bindings इस्तेमाल करता है, जो Vim या Emacs की तुलना में कहीं ज़्यादा समझ में आते हैं। इसकी default settings पहले से अच्छी हैं और इसमें कई उपयोगी features भी हैं। मैं इसे रोज़ इस्तेमाल कर रहा हूँ और यह तेज़ और अच्छा है
अगर
PATHमें LSP हो तो यह उसे अपने-आप इस्तेमाल करता है, इसलिए बहुत कम configuration चाहिए। मेरी settings सिर्फ theme और थोड़े-से style changes हैं, और चाहें तो यहाँ देख सकते हैं: https://github.com/RGBCube/NixOSConfiguration/blob/master/ma...set nocompatible,set ruler, backspace, indentation, और default color schemes में से एक चुनने के अलावा “programming” करने की बहुत कम ज़रूरत पड़ती हैNeovim में मैंने lightline, pathogen, monokai color scheme और शायद कुछ और install किया था, शायद किसी थोड़ी ज्यादा unusual language की syntax highlighting रही होगी
मुख्य बात यह है कि जब तक आप Vim पर ढेर सारी चीज़ें नहीं लटका देते, तब तक यह एक fixed-function editor ही है
tlamponi [1] की बदौलत: https://news.ycombinator.com/item?id=37013315
Vim ने मेरी ज़िंदगी पर सचमुच असर डाला है। मैं इसे पिछले 15 साल से इस्तेमाल कर रहा हूँ, और नया host मिलते ही लगभग तुरंत rc file में
set -o viया psql/ipython की मिलती-जुलती setting डाल देता हूँshell में बिताए अनगिनत घंटे Bram के काम की वजह से कहीं ज़्यादा सुखद हो गए
यह लेख post करने के लिए धन्यवाद, और वे शांति से विश्राम करें
बहुत पहले यह muscle memory बन गया था, और text editing व screen पर cursor movement अब बिल्कुल मेहनत नहीं लगते
नए programmers को मैं जिन चीज़ों की हमेशा सलाह देता हूँ, उनमें यह एक है। Vim की learning curve steep कही जा सकती है, लेकिन यह programmers को text के साथ उनके लगातार interaction को ज़्यादा efficient नज़रिए से देखने में मदद करता है
shell और Readline का जहाँ-जहाँ इस्तेमाल होता है, Emacs में evil-mode से defaults बदलने जैसी हर supported जगह पर मैं Vi(m) mode चालू रखता हूँ
mode-based interface और compose किए जा सकने वाले mnemonic commands, Emacs-style key combination UI की तुलना में कहीं ज़्यादा बेहतर और intuitive हैं। मुझे Vim से प्यार है। 20 साल से भी पहले इस यात्रा की शुरुआत कराने वाला यही tool था, और आज भी quick editing के लिए रोज़ इस्तेमाल करता हूँ। हालांकि IDE के रूप में मैं Emacs को पसंद करता हूँ, क्योंकि वह ज़्यादा extensible environment है। evil-mode की बदौलत दोनों के फायदे मिल जाते हैं
Bram ने अनगिनत लोगों की ज़िंदगी बेहतर की, और उन्हें हमारी industry की महान हस्तियों में मान्यता मिलनी चाहिए। RIP
क्षणभंगुर software की दुनिया में Vim समय से परे एक उत्कृष्ट कृति है
काश Bram को सीधे धन्यवाद देने का मौका मिला होता कि उन्होंने मेरी ज़िंदगी और career पर कितना असर डाला। लगता है Vim के बिना मैं यहाँ तक नहीं पहुँच पाता
उम्मीद है यह मेरे जीवनकाल में, और उसके बाद भी, जीवित रहेगा