1 पॉइंट द्वारा GN⁺ 2025-11-17 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Emacs environment को mainstream IDE की तरह configure करने के लिए बनाया गया settings collection, ताकि शुरुआती उपयोगकर्ता भी इसे तुरंत इस्तेमाल कर सकें
  • VSCode theme, explorer, tabs, multi-cursor, auto-completion जैसी प्रमुख सुविधाओं को Emacs में फिर से बनाया गया है
  • GUI और mouse interaction का default support मिलता है, और custom interface से settings बदली जा सकती हैं
  • Lisp (Sly/Geiser) developers और non-programmers दोनों के लिए पूरा editing environment प्रदान करता है
  • Emacs की मौजूदा entry barrier को कम करके नए users के लिए आसानी से अपनाने लायक starting point देता है

IDEmacs परिचय

  • IDEmacs एक configuration set है जो Emacs को Visual Studio Code या Sublime Text जैसे GUI IDE की तरह इस्तेमाल करने लायक बनाता है
    • Emacs की ताकतवर क्षमताओं को बरकरार रखते हुए शुरुआती उपयोगकर्ताओं के लिए परिचित interface देता है
  • इसके मुख्य target users निम्न तीन समूह हैं
    • दूसरे IDE से आने वाले programmer या coding पहली बार सीखने वाले उपयोगकर्ता
    • Common Lisp और Scheme के शुरुआती उपयोगकर्ता (Sly/Geiser, structural editing features सहित)
    • Org, Markdown, LaTeX document editing चाहने वाले non-programmers
  • इसका उद्देश्य Emacs के default experience से अपरिचित उपयोगकर्ताओं को तुरंत इस्तेमाल करने योग्य environment देकर entry barrier कम करना है

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

  • GUI और mouse support
    • अधिकांश starter kits के विपरीत यह GUI elements को छिपाता नहीं है
    • custom GUI के जरिए configuration support देता है (सीधे Elisp edit करने की जरूरत नहीं)
  • IDE-style keybindings
    • CUA mode के आधार पर VSCode आदि में इस्तेमाल होने वाले shortcuts को बड़े पैमाने पर फिर से बनाया गया है
    • Evil mode इस्तेमाल करने वाले Spacemacs, Doom के विपरीत यह GUI-केंद्रित interaction पर जोर देता है
  • पूर्ण Emacs distribution-स्तर की configuration
    • तेज़ और setup-free environment
    • भरपूर comments वाले Elisp code से बना है, इसलिए learning material की तरह भी उपयोगी है
  • इसका target level पूरी तरह समान न होकर “काफी हद तक मिलता-जुलता” अनुभव देना है

VSCode configuration (प्रगति पर)

  • फिलहाल उपलब्ध एकमात्र IDE configuration
  • शामिल तत्व
    • VSCode Dark Plus theme
    • Treemacs sidebar file explorer
    • Centaur Tabs tab bar
    • breadcrumb file path display
    • idle-highlight-mode symbol auto-highlighting
    • VSCode के “General”, “Basic Editing”, “Rich Languages Editing”, “Multi-cursor” shortcuts का अधिकांश implementation
  • मुख्य packages
    • editing: whole-line-or-region, expand-region, multiple-cursors, smartparens
    • version control: vc, magit, diff-hl, blamer
    • auto-completion: Vertico, orderless, Consult, marginalia, company
    • Lisp development: sly, geiser, adjust-parens
    • अन्य: eat(terminal), org-superstar, pdf-tools, undo-tree, helpful, rainbow-mode
    • code organization use-package से manage की जाती है

Keybinding configuration

  • VSCode shortcuts को Emacs commands से map किया गया है
    • उदाहरण:
      • C-S-p → command palette (execute-extended-command)
      • C-p → file open (consult-locate)
      • C-S-n → new window (make-frame)
      • C-w → window close (idemacs-kill-buffer-noprompt)
      • C-, → user settings (customize)
  • basic editing, multi-cursor, navigation, file management, display control आदि विस्तृत श्रेणियों के अनुसार संबंधित commands परिभाषित हैं
  • कुछ shortcuts का व्यवहार VSCode से अलग है, और उन्हें TODO के रूप में चिह्नित किया गया है

भागीदारी और योगदान का अनुरोध

  • उपयोगकर्ताओं से IDEmacs इस्तेमाल करने के बाद feedback देने का अनुरोध
    • शुरुआती उपयोगकर्ताओं को observe करना, और Jabber/XMPP या issue tracker के जरिए राय साझा करना
  • developers को code improvement और feature expansion में भाग लेने के लिए प्रोत्साहित किया गया है

संबंधित project

  • Mousemacs (GitHub: seamus-brady/mousemacs)
    • Emacs को Sublime Text या VSCode की तरह काम करने वाला distribution
    • Lisp सीखने के लिए बनाया गया, और mouse-friendly interface देता है
    • साधारण theme के साथ Emacs की सभी सुविधाएँ बरकरार रखता है

Install और run करने का तरीका

  • आवश्यक dependencies
    • Emacs 29 या बाद का संस्करण, git, DejaVu Sans Mono font
  • वैकल्पिक dependencies
    • grep, locate या plocate
  • installation steps
    1. repository clone करें
      git clone https://codeberg.org/IDEmacs/IDEmacs
      
    2. internet connection की स्थिति में Emacs चलाएँ
      emacs --init-directory=/path/to/IDEmacs/vscode
      
    • run करते समय आवश्यक Emacs packages अपने आप download हो जाते हैं

अन्य

  • फिलहाल VSCode configuration के अलावा कोई अन्य IDE style उपलब्ध नहीं है
  • भविष्य में resources उपलब्ध होने पर नए GUI implementation की संभावना का उल्लेख है
  • मूल पाठ में अतिरिक्त जानकारी नहीं है

1 टिप्पणियां

 
GN⁺ 2025-11-17
Hacker News राय
  • जो लोग VSCode को आसान समझते हैं, उन्हें थोड़ा रियलिटी चेक चाहिए
    पहली बार चलाने पर पॉपअप, साइडबार, टूलटिप वगैरह से दबाव-सा महसूस होता है
    मैं भी Emacs उपयोगकर्ता हूँ, लेकिन यह दावा नहीं करता कि Emacs सहज है
    बस VSCode भी कोई जादुई रूप से आसान टूल नहीं है, वह केवल लोकप्रिय विकल्प है

    • VSCode का UX काफ़ी परिचित लगता है
      फ़ाइल ट्री, एडिटर, टर्मिनल, टैब कम्प्लीशन, एक्सटेंशन इंस्टॉल — ज़्यादातर उपयोगकर्ताओं की इंटरैक्शन यहीं तक रहती है
      जो चीज़ें डिफ़ॉल्ट में न मिलें या एक्सटेंशन से आसानी से न जुड़ें, उनका ज़्यादातर लोग उपयोग नहीं करते
    • प्रोफ़ेशनल टूल्स (IDEs, DAWs, वीडियो एडिटर्स आदि) में स्वाभाविक रूप से जटिलता होती ही है
      लेकिन VSCode की जटिलता vim या Emacs के स्तर की नहीं है
      एक छोटा ट्यूटोरियल या लगभग 30 मिनट हाथ लगाने से काफ़ी सहज हुआ जा सकता है
      जबकि neovim के लिए तो जैसे पूरी एक किताब चाहिए थी
    • मैं भी रोज़ Emacs इस्तेमाल करता हूँ, लेकिन VSCode उत्तेजक और खुरदुरा लगता है
      हाल में RustRover आज़माया, लेकिन सिर्फ़ क्लिक करके मनचाही सेटिंग बनाना मुश्किल था
      इससे लगा कि IDE की ‘आसानी’ शायद जितनी दिखती है, उतनी वास्तविक नहीं होती
    • 1 साल Emacs इस्तेमाल करके छोड़ देने वाले व्यक्ति के रूप में, मुझे interoperability कहीं ज़्यादा महत्वपूर्ण लगती है
      बहुत-से टूल standard file chooser या CUA shortcuts जैसे सामान्य इंटरफ़ेस सपोर्ट करते हैं
      इसलिए Emacs की जगह Zim-wiki जैसे विकल्प इस्तेमाल करके मैं ज़्यादा संतुष्ट हूँ
    • VSCode के पॉपअप और साइडबार भारी लगने वाली राय पर, अगर किसी ने Eclipse जैसे भारी IDE इस्तेमाल किए हों तो यह उल्टा परिचित लग सकता है
      लेकिन अगर कोई tmux, vi, nano, emacs-केंद्रित वर्कफ़्लो से आया हो, तो वह चौंक सकता है
  • Emacs सिर्फ़ एक साधारण IDE नहीं, बल्कि दर्शन और स्वतंत्रता वाला टूल है
    प्रोग्रामिंग-केंद्रित उपयोग मामलों पर ध्यान देने वाले कई प्रोजेक्ट हैं, लेकिन VSCode में भी Emacs keybindings के साथ लगभग 75% तक काम किया जा सकता है
    Emacs का सार यह है कि वह आपको “पुर्ज़ों का डिब्बा” देता है और आप खुद उसे जोड़ते हैं
    यह कुछ-कुछ “सभ्य युग का एक सुंदर हथियार” जैसा है

    • हालाँकि Emacs Lisp को functional language कहना मुश्किल है
      इसके अधिकांश data structures mutable हैं, और setq जैसे कई imperative functions मौजूद हैं
  • यह संदेह है कि Emacs में fixed window layout वास्तव में अच्छी तरह काम करता भी है या नहीं
    पहले जब मैंने कोशिश की थी, Treemacs panel कभी-कभी file viewer की जगह code buffer दिखाने लगता था

  • हाल के समय में Emacs को IDE की तरह सेट करना पहले से बहुत आसान हो गया है
    built-in eglot की वजह से पहले की तुलना में elisp code बहुत कम लिखना पड़ता है, और Python setup तो एक लाइन में हो जाता है
    इसलिए ऐसे प्रोजेक्ट मेरे जैसे पुराने उपयोगकर्ताओं से ज़्यादा नए लोगों के लिए gateway जैसे हैं

    • 15 साल पहले स्कूल में जब Emacs इस्तेमाल किया था, तब भी अनुभव काफ़ी smooth था
      OCaml REPL, 68000 emulator, gdb integration तक बिना बड़े setup के संभव था
      बाद में remote server environment की वजह से vim पर चला गया, लेकिन हाल में फिर Emacs आज़माया तो package management बहुत अधिक परिष्कृत लगा
      हालाँकि DevOps/SRE से जुड़ी tooling अभी भी कमज़ोर है
  • Spacemacs, Doom जैसी package bundle projects मुझे पसंद हैं
    मैं खुद इन्हें इस्तेमाल नहीं करता, लेकिन ये नए packages खोजने का मौका देती हैं और config फिर से छेड़ने का बहाना भी बनाती हैं

    • मैंने भी idemacs पेज के packages देखे, और ‘minimap’ नाम ख़ास तौर पर अच्छा लगा
      नाम बहुत साधारण है, लेकिन उद्देश्य पर बिल्कुल सटीक बैठता है, इसलिए मुस्कान आ गई
  • काश Emacs के UI को आधुनिक रूप में rebuild करने वाला कोई प्रोजेक्ट होता
    कोर वैसा ही रहे, लेकिन इंटरफ़ेस में visual distinction ज़्यादा साफ़ हो और आँखों पर कम ज़ोर पड़े
    पुराने Lisp-आधारित editors की तरह Ctrl दबाने पर shortcut hints दिखें, तो वह भी अच्छा होगा

    • मेरी राय ठीक उलट है
      UI ठीक-ठाक है, और single-threaded structure तथा बार-बार रुक जाने की समस्या ज़्यादा तात्कालिक मुद्दा है
      रोज़ कम-से-कम एक बार C-g दबाने की नौबत सुधरनी चाहिए
    • पूरी तरह वही नहीं, लेकिन Common Lisp-आधारित Lem को देखना उपयोगी हो सकता है
      यह curses/SDL2 के ऊपर चलता है और Emacs शैली को आगे बढ़ाता है
    • शायद बात which-key की हो रही है
      पहले यह external package था, लेकिन हाल में Emacs core में शामिल कर लिया गया
      संबंधित commit लिंक
    • मैं जितना संभव हो मौजूदा UI को बनाए रखना चाहूँगा
      graphical environment हो या terminal, दोनों में एक जैसा दिखना इसकी बड़ी ताकत है
      Treemacs का हर जगह एक जैसा दिखना मुझे ख़ास तौर पर पसंद है
  • यह अफ़सोस की बात है कि OniVim v2 सफल नहीं हो पाया
    यह native IDE था और VSCode plugin system को पूरी तरह सपोर्ट करता था
    OniVim v2 आर्काइव लिंक

    • OniVim ने vim की core functionality को libvim नाम की अलग library में अलग कर दिया था
      यह दूसरे GUI frontend developers के लिए भी उपयोगी हो सकता था
      Neovim RPC के ज़रिए संवाद करता है, लेकिन performance काफ़ी तेज़ है
      VSCode के लिए Neovim plugin भी इसी architecture की वजह से पूरा vim अनुभव दे पाता है
    • लेकिन इसका target user कुछ अस्पष्ट था
      Vim उपयोगकर्ता Electron-आधारित input lag और EULA से नाखुश होते, और VSCode उपयोगकर्ताओं की Vim में रुचि ही नहीं होती
  • 25 साल से ज़्यादा समय से Emacs इस्तेमाल कर रहा हूँ, और नई installation पर सबसे पहले GUI elements को disable करता हूँ
    menu या toolbar का बिल्कुल उपयोग नहीं करता

    • VSCode उपयोगकर्ता ख़ास तौर पर mouse-केंद्रित ढंग से काम करते हैं, लेकिन Emacs की ताकत यह है कि आप Lisp machine को अपनी इच्छा के अनुसार बदल सकते हैं
    • मैं भी 15 साल से ज़्यादा समय से Emacs इस्तेमाल कर रहा हूँ और पूरी तरह keyboard से ही चलाता हूँ
      लेकिन मेरे supervisor basic Emacs को mouse से इस्तेमाल करके LaTeX काम करते थे, और वह काफ़ी ताज़गीभरा अनुभव था
  • मैं Doom Emacs का उपयोग जारी रखूँगा, लेकिन ऐसी कोशिशें अच्छी लगती हैं
    Emacs में Vertico जैसे नवोन्मेषी UI plugins बहुत हैं, लेकिन default experience अभी भी कमज़ोर है
    अगर ऐसे प्रोजेक्ट Emacs को ज़्यादा लोगों के लिए सुलभ बनाते हैं, तो यह अच्छी बात है

  • 15 साल से ज़्यादा समय से Emacs इस्तेमाल कर रहा हूँ, और मेरी एकमात्र इच्छा है कि VSCode की तरह remote editing वाला client-server mode मिले
    अच्छा होगा अगर high-latency environment में भी ठीक से चलने वाला कोई समाधान हो
    नहीं मिला तो खुद बनाने का सोचूँगा
    फिर भी VSCode का Python integration काफ़ी अच्छा है

    • इसके दो तरीके हैं
      1. Emacs को local में चलाएँ और Tramp से remote files संपादित करें
      2. remote server पर Emacs को terminal mode (-nw) में चलाएँ