3 पॉइंट द्वारा GN⁺ 2026-03-08 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Helix एक टर्मिनल-आधारित modal text editor है, जो आधुनिक फीचर्स को एकीकृत करने वाला एक open source प्रोजेक्ट है
  • Tree-sitter इंटीग्रेशन के जरिए यह syntax highlighting, indentation calculation, code navigation जैसी syntax-aware editing features प्रदान करता है
  • Language Server Protocol को सपोर्ट करके यह auto-completion, go to definition, documentation view, diagnostics जैसी IDE-स्तरीय सुविधाएँ उपलब्ध कराता है
  • Rust में लिखा गया है, इसलिए यह Electron या JavaScript के बिना चलता है, और SSH·tmux·टर्मिनल environment में प्रभावी ढंग से इस्तेमाल किया जा सकता है
  • plugin system और GUI frontend भविष्य में विकसित किए जाने की योजना में हैं, और इसकी खासियत हल्का codebase और आधुनिक default settings हैं

मुख्य विशेषताएँ

  • Helix, Kakoune से प्रेरित multi-selection और cursor system को अपने मुख्य editing unit के रूप में इस्तेमाल करता है
    • commands कई selection areas को एक साथ नियंत्रित करती हैं, जिससे parallel code editing संभव होती है
  • Tree-sitter का उपयोग करके error-tolerant syntax tree बनाई जाती है
    • इसके जरिए सटीक syntax highlighting, auto indentation, code navigation फीचर्स मिलते हैं

कोड मैनिपुलेशन और नेविगेशन फीचर्स

  • function, class, comment जैसे syntax tree node units के आधार पर selection और movement की सुविधा देता है
    • साधारण text नहीं, बल्कि syntax structure आधारित editing संभव होती है
  • Language Server Protocol (LSP) के जरिए भाषा-विशिष्ट auto-completion, go to definition, documentation view, diagnostics फीचर्स देता है
    • अतिरिक्त configuration के बिना टर्मिनल environment में IDE-स्तरीय सुविधाओं का उपयोग किया जा सकता है

तकनीकी आधार

  • Rust में लिखा गया है, जिससे स्थिरता और performance सुनिश्चित होती है
    • Electron, VimScript, JavaScript का उपयोग नहीं करता
    • SSH, tmux, सामान्य टर्मिनल environment में चल सकता है
    • हल्की संरचना के कारण battery efficiency बेहतर होती है

बिल्ट-इन आधुनिक फीचर्स

  • fuzzy finder के जरिए file और symbol navigation, तथा project-wide search को सपोर्ट करता है
  • auto bracket closing, surround integration, theme customization जैसी कई सुविधा-जनक features बिल्ट-इन हैं
  • अलग plugin के बिना भी समृद्ध default features का एकीकृत ढांचा प्रदान करता है

अक्सर पूछे जाने वाले प्रश्न

  • “पोस्टमॉडर्न” अभिव्यक्ति का मतलब मज़ाकिया तौर पर यह है कि यदि Neovim ‘modern Vim’ है, तो Helix उसके बाद की पीढ़ी है
  • GUI frontend को भविष्य में WebGPU-आधारित prototype के रूप में विकसित किया जाना तय है
  • फिलहाल plugin system लागू नहीं किया गया है, लेकिन भविष्य में इसे जोड़ने की योजना है
  • Kakoune से अंतर यह है कि Helix में ज़्यादा फीचर्स बिल्ट-इन हैं, और यह Tree-sitter आधारित code analysis का उपयोग करता है
  • Vim से अलग, Helix को शुरुआत से नया डिज़ाइन किया गया है, इसका codebase छोटा है, और यह कम से कम config बदलावों के साथ आधुनिक defaults देता है

समुदाय और भागीदारी

  • GitHub पर code contribution किया जा सकता है
  • Matrix चैनल में प्रोजेक्ट पर चर्चा होती है
  • OpenCollective के जरिए development support दिया जा सकता है

1 टिप्पणियां

 
GN⁺ 2026-03-08
Hacker News की राय
  • “Post-modern?!” वाला मज़ाक देखकर दिलचस्पी हुई
    कई engineers ‘postmodern’ को बस modern के अगले चरण के रूप में समझते हैं, लेकिन art और humanities में इसका मूल अर्थ इससे अलग है
    बेशक, इस तरह का इस्तेमाल कोई बहुत बड़ी समस्या नहीं है, लेकिन फिर भी सचमुच की ‘postmodern’ creativity की उम्मीद थी, इसलिए यह बात ध्यान खींच गई

    • किसी ने कहा था कि Thiel और Luckey ने Tolkien को गलत समझा था; इसका कोई ठोस उदाहरण जानने की जिज्ञासा है
    • Helix का मज़ाक पहली बार देखकर मेरे मन में भी यही बात आई थी
      लेकिन क्योंकि ‘postmodernism’ मूल रूप से modernism के बाद उसकी प्रतिक्रिया के रूप में पैदा हुई अवधारणा है, इसलिए इसे बस “modern के बाद” मान लेना पूरी तरह गलत भी नहीं लगता
      हाँ, समय के साथ इसका अर्थ कहीं अधिक जटिल हो गया, और अब इसका “dated af” जैसा लगना अपने आप में मज़ेदार है
      “Helix, पहला editor जो grand narratives पर विश्वास नहीं करता। Helix, relativist editor। Helix, Foucault और Derrida के नवीनतम updates के साथ”
    • यह सब Perl की गलती है। naming की यह शैली उन्होंने ही शुरू की थी
  • मैं कई सालों से Helix को अपना main editor बनाकर इस्तेमाल कर रहा हूँ (Sublime → Atom → Vim → Helix)
    ज़्यादातर LSP लगभग बिना किसी configuration के काम करते हैं, और config file भी पुरानी .vimrc की तुलना में कहीं अधिक संक्षिप्त है
    Vim की muscle memory बदलने में कुछ ही दिन लगे, लेकिन फिर भी modal editor को लेकर मन में मिला-जुला भाव है
    code folding feature का अब भी इंतज़ार है

    • जो व्यक्ति Emacs और Vim दोनों साथ में इस्तेमाल करता है, उसके नज़रिए से modal editing में असुविधा क्या है, यह जानना चाहता हूँ
      Emacs में multiple cursors और treesitter-आधारित plugins के साथ non-modal तरीके से भी काफ़ी शक्तिशाली editing संभव है
      क्या Helix का modal तरीका भी कुछ ऐसे ही कारणों से असुविधाजनक लगता है?
    • मेरी शिकायत अब भी Escape key को लेकर है
      पुराने Unix keyboards में यह home row के पास हुआ करती थी, लेकिन अब यह बहुत दूर है
      ज़्यादातर tutorials alternative key का ज़िक्र तक नहीं करते, इसलिए यह समझना मुश्किल है कि अब भी आधे से ज़्यादा users Escape को वैसे ही क्यों इस्तेमाल करते हैं
  • कुछ दिन पहले Helix फिर से इस्तेमाल किया, और AI को सिर्फ LSP के ज़रिए इस्तेमाल कर पाना तो ठीक लगा
    लेकिन बाहर से file बदलने पर auto-refresh न होना बहुत असुविधाजनक था
    बार-बार यह चिंता होती रही कि AI द्वारा बदली गई file कहीं पुरानी स्थिति में तो नहीं दिख रही

    • GitHub Copilot, Claude Code, और Codex IDE API के ज़रिए files को सीधे modify करते हैं और diff view भी देते हैं
      यह तरीका कहीं अधिक स्थिर और आकर्षक लगता है
      दूसरी ओर कुछ AI tools कहते हैं “IDE की ज़रूरत नहीं”, और CLI-केंद्रित दिशा में जाते हैं; मुझे वह पूरी तरह बकवास लगता है
    • यह कोई परफेक्ट समाधान नहीं है, लेकिन Helix में :reload और :reload-all commands हैं
      मैंने Ctrl-r पर reload-all bind कर रखा है
    • एक simple patch से यह हल हो सकता है → GitHub PR लिंक
    • मुझे भी यही समस्या हुई थी, फिर मैंने lazygit से file changes monitor करने और edits सिर्फ Helix में करने वाला workflow अपना लिया
      एक और विकल्प mux है, जहाँ LLM द्वारा सुझाए गए changes पर line/block स्तर पर comments किए जा सकते हैं (अभी शुरुआती version में)
    • समय के साथ मुझे उल्टा यह अच्छा लगने लगा कि auto-refresh नहीं है
      Claude Code के साथ काम करते समय files का अपने-आप न बदलना मुझे पसंद है
  • Vim अगर C है, तो Helix C++ जैसा है, और Ki Editor Rust जैसा
    Helix ने Vim के कई ideas विरासत में लिए हैं, लेकिन keybinding consistency कमज़ोर है और conceptual composition भी उतनी मज़बूत नहीं
    उदाहरण के लिए buffer में k से move होता है, लेकिन file explorer में ctrl+n इस्तेमाल करना पड़ता है

    • Ki को Rust जैसा कहने की वजह जानना चाहता हूँ। मुझे तो Helix भी काफ़ी बढ़िया editor लगता है
    • यह सुनकर हैरानी हुई कि Helix में file explorer आ गया है। उसी की कमी के कारण मैंने इसे नहीं अपनाया था
    • Vim में भी ऐसा ही एक मामला है। autocomplete window में k input character के रूप में इस्तेमाल होता है, इसलिए अलग key लेनी पड़ती है
      शायद Helix में भी वही कारण हो
    • key position आधारित binding की अवधारणा समझ में नहीं आती
      SSH से जुड़ते समय keyboard layout अलग हो तो क्या होगा, यही सवाल है
    • “Helix is C++” कहना कुछ ज़्यादा बढ़ा-चढ़ाकर की गई उपमा लगता है। अगर Vim C है, तो Neovim C++ के ज़्यादा करीब है
  • मैं सच में Helix को पसंद करना चाहता था
    default settings अच्छी थीं, और इसे सीखने के लिए मैंने जानबूझकर Vim की कुछ आदतें छोड़ीं
    लेकिन आख़िरकार इस निष्कर्ष पर पहुँचा कि keybindings साधारण implementation को आसान बनाने के लिए किए गए समझौते हैं
    अब छोटे edits के लिए Neovim और बड़े काम के लिए Zed(vim mode) पर लौट आया हूँ

    • क्या आपने Ki Editor इस्तेमाल किया है? UX के लिहाज़ से यह Helix से आगे बढ़ा हुआ model है
    • लंबे समय से Vim user होने के नाते, Helix का बहुत ज़्यादा opinionated design असुविधाजनक लगा
      उदाहरण के लिए, file दोबारा खोलने पर cursor पिछली position पर नहीं लौटता
      LLM से इसे ठीक कराया जा सकता था, लेकिन अंततः Helix fork maintain करना नहीं चाहता था
    • evil-helix नाम का Vim bindings version भी है। आज़माने लायक हो सकता है
    • Vim से अलग bindings ही अंततः छोड़ने की वजह बनीं
      कई सालों में बनी muscle memory को छोड़ना वाकई बहुत कठिन है
    • मैं इस बात से सहमत नहीं कि Helix UI साधारण नहीं है
      मुझे hx + Zed combination काफ़ी शानदार लगता है
  • Helix live file updates support नहीं करता, इसलिए code agents के साथ इसका इस्तेमाल असुविधाजनक है

  • किसी ने Helix की FAQ का दूसरा सवाल देखने की सलाह दी
    Python LSP का बिना configuration सीधे काम करना प्रभावशाली लगा
    लेकिन 25 साल की Vim muscle memory के कारण Helix के सूक्ष्म अंतर बहुत उलझन पैदा करते हैं
    आख़िर में समस्या Helix नहीं, मेरी muscle memory ही है

    • लंबे समय तक ergonomic keyboard इस्तेमाल करने के बाद सामान्य keyboard पर लौटना शुरू में कठिन था, लेकिन आख़िरकार दोनों के साथ सहजता आ गई
      शायद Vim और Helix के साथ भी ऐसा हो सकता है
    • Emacs में M-ESC ESC को किसी harmless command से bind कर दें, तो window बंद होने की समस्या से बचा जा सकता है
      उदाहरण: (global-set-key (kbd "M-ESC ESC") 'keyboard-quit)
    • क्या आपने Emacs का Evil mode इस्तेमाल किया है? Vim से लगभग बिना मुश्किल के संक्रमण हो गया था
    • मैंने भी 25 साल Vim इस्तेमाल किया, लेकिन अब पूरी तरह Helix पर आ गया हूँ
      dd, G जैसे फ़र्कों की आदत पड़ जाए तो यह धीरे-धीरे और पसंद आने लगता है
    • Zed Helix की philosophy (LSP by default) बनाए रखते हुए सटीक vi bindings देता है
  • पिछले कुछ सालों से Helix को default editor की तरह इस्तेमाल कर रहा हूँ
    इसकी simplicity, speed, keyboard-centric navigation, और Elixir LSP integration खास तौर पर पसंद हैं

  • Helix को main बनाकर मैंने काफ़ी code ship किया है
    मेरी config file 50 lines से भी कम है, और मैंने बस कुछ Vim keys जोड़ी हैं
    Vim और Helix के बीच आना-जाना भी कोई बड़ी समस्या नहीं
    मेरी settings यहाँ हैं

  • मैंने VS Code के लिए खुद modal mode extension बनाई थी, इसलिए Kakoune और Helix का approach दिलचस्प लगा
    “जो बदलने वाला है उसे पहले दिखाने” वाली संरचना और multi-cursor केंद्रित design काफ़ी तर्कसंगत लगी
    लेकिन कुछ हफ्तों बाद आख़िरकार फिर क्लासिक Vim style पर लौट गया
    multi-cursor तरीका तभी उपयोगी लगा जब स्क्रीन पर सारे बदलाव एक साथ दिखाई दे रहे हों
    आजकल AI की वजह से code से ज़्यादा sentence writing करनी पड़ती है, इसलिए इस editing style की उपयोगिता कुछ कम लगती है

    • Emacs में mc-hide-unmatched-lines command है, जिससे सिर्फ cursor वाली lines दिखाई जा सकती हैं
      multi-cursor छोटे और सरल edits के लिए अच्छा है, लेकिन जटिल संशोधनों के लिए batch editing tools ज़्यादा प्रभावी हैं
    • Ki Editor का Reveal Cursors feature
      स्क्रीन के बाहर वाले cursors की समस्या हल करने के लिए बनाया गया था
    • सिर्फ यह बात कि “सारे changes एक नज़र में दिख जाते हैं”, अपने-आप में पारंपरिक तरीके की तुलना में net positive है