Skip to content
← किट पर लौटें

DeepWorkPlan Vim

DeepWorkPlan Vim, Deep Work Plan का टर्मिनल एडिटर है: टर्मिनल में काम करने वाले लोगों और कोडिंग एजेंटों के लिए Neovim कॉन्फ़िगरेशन। आपकी योजनाएँ, आपके दस्तावेज़ और हर कमांड का इंडेक्स बस एक कीस्ट्रोक की दूरी पर हैं।

यह एक अलग उत्पाद है, जो Deep Work Plan v7 (v7.0.0) के वैकल्पिक vim ऐडऑन के रूप में दिया जाता है। Deep Work Plan किसी भी एडिटर के साथ या बिना एडिटर के काम करता है, और यह एडिटर भी Deep Work Plan की माँग नहीं करता: आप इसे किसी मशीन में अलग से जोड़ते हैं, और योजना हो या न हो, यह एडिटर के रूप में काम करता है। यह पृष्ठ रिलीज़ v0.5.0 का वर्णन करता है।

Deep Work Plan के लिए टर्मिनल एडिटर क्यों

Deep Work Plan .dwp/plans/ के अंतर्गत Markdown का एक फ़ोल्डर है: एक लक्ष्य, परमाणु कार्य, सत्यापन द्वार और लगातार चलता लॉग। लोग इसकी समीक्षा करते हैं, एजेंट इसे निष्पादित करते हैं, और दोनों अक्सर यह काम टर्मिनल से करते हैं। इस काम के लिए बना एडिटर तीन चीज़ें पास रखता है: योजना स्वयं, उसके आसपास के दस्तावेज़, और वे कीस्ट्रोक जो आपको दोनों के बीच ले जाते हैं।

DeepWorkPlan Vim वही एडिटर है। यह एक चुना-सँवारा Neovim कॉन्फ़िगरेशन है — लैंग्वेज सर्वर, कम्प्लीशन, लिंटिंग, फ़ॉर्मैटिंग, फ़ज़ी फ़ाइंडिंग, फ़ाइल ट्री और चुनिंदा रंग थीम, ज़रूरत पर लोड होने वाले — साथ में कुछ ऐसे इंटरफ़ेस जो इसे Deep Work Plan का एडिटर बनाते हैं।

सैर: ऐसा कमांड इंडेक्स जो पुराना नहीं पड़ सकता

SPC h h दबाएँ (Space लीडर कुंजी है), या :DwpCommands चलाएँ, और एडिटर अपनी हर मैपिंग एक पंक्ति के विवरण के साथ सूचीबद्ध कर देता है। सूची सक्रिय कीमैप से जनरेट होती है, इसलिए कहीं भी परिभाषित मैपिंग बिना पंजीकरण के इंडेक्स में दिख जाती है, और इंडेक्स पुराना नहीं पड़ सकता।

पूरी सैर बस इतनी है: nvim शुरू करें, फिर Space, h, h दबाएँ।

आपको क्या मिलता है

पाँच सुविधाएँ, हर एक बस एक कीस्ट्रोक की दूरी पर।

सुविधा कुंजियाँ यह क्या करती है
जनरेट किया गया कमांड इंडेक्स SPC h h कॉन्फ़िगरेशन की हर मैपिंग, सक्रिय कीमैप से जनरेट की गई।
VS Code शैली के जेस्चर <C-a>, SPC y एक कुंजी से पूरी फ़ाइल चुनें और सिस्टम क्लिपबोर्ड पर कॉपी करें। सादा y भी वहीं कॉपी करता है, क्योंकि क्लिपबोर्ड पूरे सिस्टम का साझा है।
Deep Work Plan ब्राउज़र SPC P आपकी रिपॉज़िटरी की योजनाओं पर एक साइडबार, स्थिति के अनुसार समूहित और प्रगति पट्टियों के साथ, और किसी एक योजना के लिए एक रीडर।
Markdown व्यूअर SPC m p, SPC m r ब्राउज़र में Markdown का प्रीव्यू लें, या बफ़र में रेंडर करें।
सत्यापित इंस्टॉलर — macOS, Linux और WSL के लिए आत्मनिर्भर इंस्टॉलर, Windows के लिए प्रलेखित मैन्युअल मार्ग के साथ।

एडिटर छोड़े बिना योजना

SPC P, :DwpPlans, या स्टेटसलाइन खंड पर एक क्लिक योजना साइडबार खोलता है। यह मौजूदा डायरेक्टरी और आपकी Neovim कॉन्फ़िग डायरेक्टरी के हर .dwp/plans/ फ़ोल्डर को कवर करता है, और योजनाओं को सबसे ज़्यादा ध्यान माँगने वाली से शुरू करके समूहित करता है। एडिटर में लेबल Working, Needs attention, Ready, Not started और Done हैं। हर योजना एक प्रगति पट्टी दिखाती है।

रीडर खोलने के लिए किसी योजना पर Enter दबाएँ: एक वाक्य में लक्ष्य, स्थिति और प्रगति, वर्तमान कार्य को चिह्नित करती कार्य-सूची, और योजना की अपनी फ़ाइलों तक सरल भाषा में छलाँगें। स्टेटसलाइन लाइव सक्रिय योजना दिखाती है, और स्टार्ट स्क्रीन शीर्ष तीन सूचीबद्ध करती है। ये इंटरफ़ेस योजनाओं को समझाते हैं; ये .dwp/ में कभी नहीं लिखते।

किसी योजना की Markdown फ़ाइलें वहीं पढ़ने के लिए, SPC m p मौजूदा बफ़र का ब्राउज़र में प्रीव्यू देता है और SPC m r उसे बफ़र के भीतर रेंडर करता है। दोनों केवल Markdown बफ़र में काम करते हैं।

इंस्टॉलेशन

इंस्टॉलेशन तीन कमांड का है: स्क्रिप्ट डाउनलोड करें, उसे इस साइट द्वारा दी गई फ़ाइल के SHA-256 से मिलाएँ, फिर उसे चलाएँ। इंस्टॉलर अपनी ही रिलीज़ पर पिन रहता है, इसलिए यह ठीक v0.5.0 इंस्टॉल करता है, यानी वही रिलीज़ जिसका यह पृष्ठ वर्णन करता है। चाहें तो दूसरा संस्करण चुनें।

bash
curl -fsSL -o install.sh https://deepworkplan.com/vim/install.sh && \
echo "4890c140528d6b8d19b6bbc4102051e0b9dce2e26f43a693bdeab2e1cd8e196b  install.sh" | shasum -a 256 -c && \
bash install.sh

चलाने से पहले जाँचें

पहले पढ़ना चाहते हैं? स्क्रिप्ट डाउनलोड करें, उसका फ़िंगरप्रिंट जाँचें, उसे पढ़ें और फिर चलाएँ।

  1. स्क्रिप्ट डाउनलोड करें
    curl -fsSL https://deepworkplan.com/vim/install.sh -o install.sh
  2. उसका SHA-256 दिखाएँ और नीचे दिए मान से मिलाएँ
    sha256sum install.sh
  3. स्क्रिप्ट पढ़ें
    less install.sh
  4. स्क्रिप्ट चलाएँ
    bash install.sh
अभी परोसी जा रही स्क्रिप्ट का SHA-256
4890c140528d6b8d19b6bbc4102051e0b9dce2e26f43a693bdeab2e1cd8e196b
42510 बाइट · 1017 पंक्तियाँ

macOS पर दूसरे चरण के लिए shasum -a 256 install.sh का उपयोग करें।

कोई संस्करण चुनने के लिए --version दें या DWP_VIM_VERSION सेट करें: सटीक संस्करण, '>=' न्यूनतम सीमा या latest। ब्रांच या कमिट के लिए DWP_VIM_REF का उपयोग करें। पुराने रिलीज़ में इस पृष्ठ पर बताई गई सभी सुविधाएँ नहीं हो सकतीं।

Windows पर ये कमांड लागू नहीं होते; मैन्युअल तरीका रिपॉज़िटरी के README में दिया है। Windows इंस्टॉलेशन मार्ग

इंस्टॉलर क्रम से यह करता है:

  1. आपका OS और पैकेज मैनेजर जाँचता है, और कुछ कम हो तो git, curl और Lua इंटरप्रेटर इंस्टॉल करता है (--skip-packages के साथ कुछ भी नहीं)।
  2. संस्करण तय करता है: अपनी ही रिलीज़, या वह जो --version माँगता है।
  3. --nvim X.Y.Z के साथ, वह Neovim रिलीज़ ~/.local/opt में इंस्टॉल करता है, जिसे Neovim द्वारा प्रकाशित SHA-256 से सत्यापित किया जाता है।
  4. मौजूदा Neovim कॉन्फ़िगरेशन को छूने से पहले पूछता है। टर्मिनल के बिना वह रुक जाता है और कुछ नहीं बदलता, जब तक --yes उसे उस कॉन्फ़िगरेशन को एक तरफ़ हटाने को न कहे।
  5. रिपॉज़िटरी को ~/.config/nvim में क्लोन करता है, या वहाँ पहले से हो तो अपडेट करता है।
  6. रिपॉज़िटरी का अपना lua install.lua चलाता है।
  7. प्लगइन हेडलेस रूप से इंस्टॉल करता है और उनकी जाँच करता है, इसलिए बाहर निकलकर दोबारा खोलने का कोई चरण नहीं है। --strict के साथ, विफल या अधूरा प्लगइन इंस्टॉलेशन एक त्रुटि माना जाता है।

यहाँ दी गई स्क्रिप्ट v0.5.0 टैग पर मौजूद install.sh की बाइट-दर-बाइट समान प्रति है। इसका चेकसम इसके बगल में, https://deepworkplan.com/vim/install.sh.sha256 पर दिया जाता है, ताकि आप डाउनलोड को shasum -a 256 -c install.sh.sha256 से सत्यापित कर सकें (Linux पर sha256sum -c install.sh.sha256 से)। किसी दूसरे स्रोत से जाँच के लिए इसे GitHub रिलीज़ पर SHA256SUMS की install.sh पंक्ति से मिलाएँ। सभी विकल्पों की सूची के लिए bash install.sh --help चलाएँ।

संस्करण चुनें

डिफ़ॉल्ट रूप से इंस्टॉलर अपनी ही रिलीज़, v0.5.0, इंस्टॉल करता है। कोई दूसरा संस्करण चुनने के लिए DWP_VIM_VERSION सेट करें या --version दें: दोनों एक ही काम करते हैं, इसलिए जो बेहतर पढ़ा जाए उसका उपयोग करें, और फ़्लैग एनवायरनमेंट पर प्राथमिकता पाता है। दोनों ये रूप स्वीकार करते हैं:

रूप उदाहरण क्या इंस्टॉल होता है
सटीक संस्करण 0.5.0 या v0.5.0 वही रिलीज़
न्यूनतम सीमा '>=0.4.2' सीमा के बराबर या उससे ऊपर की सबसे नई स्थिर रिलीज़
नवीनतम latest सबसे नई स्थिर रिलीज़

ऊपर दिए डाउनलोड और चेकसम जाँच के बाद:

# exact version
DWP_VIM_VERSION=0.5.0 bash install.sh
bash install.sh --version 0.5.0

# minimum floor: the newest stable release at or above 0.4.2
DWP_VIM_VERSION='>=0.4.2' bash install.sh

# latest stable release
bash install.sh --version latest

न्यूनतम सीमा को उद्धरण चिह्नों में रखें, ताकि शेल > को रीडायरेक्शन न समझे। संस्करण केवल स्थिर रिलीज़ टैग में ही हल होते हैं। किसी ब्रांच या कमिट के लिए इसके बजाय DWP_VIM_REF सेट करें (DWP_VIM_REF=main main का अनुसरण करता है); आपस में मेल न खाने वाले संस्करण और ref एक त्रुटि हैं।

कंटेनर और CI

किसी इमेज या CI जॉब में, जहाँ टर्मिनल नहीं होता और अक्सर root भी नहीं, स्क्रिप्ट डाउनलोड और सत्यापित करें, फिर उसे ऐसे फ़्लैग के साथ एक ही चरण में चलाएँ जो परिणाम को पुनरुत्पादनीय बनाते हैं:

curl -fsSL -o install.sh https://deepworkplan.com/vim/install.sh && \
curl -fsSL -o install.sh.sha256 https://deepworkplan.com/vim/install.sh.sha256 && \
sha256sum -c install.sh.sha256 && \
bash install.sh --version 0.5.0 --nvim 0.12.5 --skip-packages --strict
  • --version 0.5.0 एडिटर रिलीज़ को पिन करता है।
  • --nvim 0.12.5 वह Neovim रिलीज़ ~/.local/opt/nvim-v0.12.5 में इंस्टॉल करता है, उसे ~/.local/bin/nvim के रूप में लिंक करता है और Neovim द्वारा प्रकाशित SHA-256 से सत्यापित करता है (Linux और macOS)।
  • --skip-packages कोई सिस्टम पैकेज इंस्टॉल नहीं करता: इमेज में git, curl और Lua पहले से होने चाहिए।
  • --strict तब गैर-शून्य कोड के साथ बाहर निकलता है जब हेडलेस प्लगइन इंस्टॉलेशन विफल हो जाए या कुछ प्लगइन छूट जाएँ।

हर फ़्लैग का एक एनवायरनमेंट समकक्ष है (DWP_VIM_VERSION, DWP_VIM_NVIM, DWP_VIM_SKIP_PACKAGES=1, DWP_VIM_STRICT=1)। --yes केवल तब जोड़ें जब इमेज में पहले से कोई ऐसा Neovim कॉन्फ़िगरेशन हो सकता हो जिसे एक तरफ़ हटाया जाना चाहिए।

आवश्यकताएँ और प्लेटफ़ॉर्म

  • Neovim 0.12 या नया। इसे स्वयं इंस्टॉल करें, या इंस्टॉलर को --nvim X.Y.Z के साथ एक सत्यापित रिलीज़ जोड़ने दें (Linux और macOS)।
  • Lua: lua, lua5.4 या luajit। कम हो तो इंस्टॉलर एक जोड़ देता है।
  • macOS, Linux और WSL पर इंस्टॉलर चलता है। Windows के लिए रिपॉज़िटरी के README में प्रलेखित मैन्युअल मार्ग है: winget से Neovim इंस्टॉल करें, v0.5.0 टैग को %LOCALAPPDATA%\nvim में क्लोन करें, और Git Bash से lua install.lua चलाएँ।
  • GPL-3.0 लाइसेंस: उपयोग, अध्ययन और संशोधन के लिए स्वतंत्र।

अपडेट, संस्करण पिन और अनइंस्टॉल

अपडेट करने के लिए किसी नई रिलीज़ का इंस्टॉलर चलाएँ, या bash install.sh --version latest चलाएँ। दोबारा चलाने पर यह मौजूदा DeepWorkPlan Vim चेकआउट को चुनी गई रिलीज़ पर ले जाता है, आपकी ब्रांच बनाए रखता है, और स्थानीय बदलाव कभी रीसेट नहीं करता: जब स्थानीय बदलाव या कमिट खो सकते हों, तो यह रुक जाता है और कुछ भी नहीं बदलता।

किसी रिलीज़ को पिन करने के लिए --version का उपयोग करें (संस्करण चुनें देखें); किसी ब्रांच या कमिट के लिए DWP_VIM_REF सेट करें। रिलीज़ को प्राथमिकता दें: v0.4.0 से पहले की रिलीज़ में जेस्चर, योजना ब्राउज़र, Markdown व्यूअर या यह इंस्टॉलर शामिल नहीं हैं।

# pin a specific release, here the previous one
curl -fsSL -o install.sh https://deepworkplan.com/vim/install.sh && \
curl -fsSL -o install.sh.sha256 https://deepworkplan.com/vim/install.sh.sha256 && \
shasum -a 256 -c install.sh.sha256 && \
bash install.sh --version 0.4.2

अनइंस्टॉल करने के लिए कॉन्फ़िगरेशन डायरेक्टरी से lua delete.lua चलाएँ। यह कॉन्फ़िगरेशन, प्लगइन, Mason डेटा, कैश और स्टेट, और इंस्टॉलर द्वारा बनाई फ़ॉन्ट की प्रति हटा देता है, और Neovim बाइनरी तथा आपके सिस्टम पैकेज को जस का तस छोड़ देता है।

cd ~/.config/nvim && lua delete.lua

प्रश्न

क्या यह मेरे Neovim कॉन्फ़िगरेशन को ओवरराइट कर देगा?

नहीं, आपकी स्वीकृति के बिना नहीं। जब उसे ऐसा कॉन्फ़िगरेशन मिलता है जो DeepWorkPlan Vim नहीं है, तो इंटरैक्टिव रन उसे ~/.config/previous-deepworkplan-vim में ले जाने से पहले पूछता है। टर्मिनल के बिना वह रुक जाता है और कुछ नहीं बदलता, जब तक आप उसे बिना निगरानी के एक तरफ़ हटाने के लिए --yes न दें। जब वह बैकअप पथ पहले से मौजूद हो, तो वह हमेशा रुक जाता है और कुछ नहीं बदलता।

क्या यह Windows पर काम करता है?

इंस्टॉलर Windows पर नहीं चलता। रिपॉज़िटरी के README का मैन्युअल मार्ग अपनाएँ, या इंस्टॉलर को WSL के भीतर चलाएँ।

क्या इसे इस्तेमाल करने के लिए मुझे Deep Work Plan चाहिए?

नहीं। यह पहले एक एडिटर है। यह Deep Work Plan स्किल को न इंस्टॉल करता है और न ही उसकी माँग करता है; .dwp/plans/ फ़ोल्डर मौजूद होने तक योजना ब्राउज़र के पास सूचीबद्ध करने को बस कुछ नहीं होता।

v7 का vim ऐडऑन इसे कैसे इस्तेमाल करता है?

Deep Work Plan v7 ऑनबोर्डिंग के दौरान इस एडिटर को वैकल्पिक vim ऐडऑन के रूप में पेश करता है। ऐडऑन एडिटर की addon/surface.json के ज़रिए मौजूदा इंस्टॉलेशन का केवल-पढ़ने (read-only) तरीके से पता लगाता है, और पिन किया गया, चेकसम-सत्यापित इंस्टॉलेशन केवल आपकी सहमति से ही पेश करता है। यह स्पष्ट अनुमोदन के बिना किसी मौजूदा Neovim कॉन्फ़िगरेशन को कभी ओवरराइट नहीं करता, और यह कभी अनिवार्य नहीं होता।

कोडिंग एजेंट इसे कैसे इस्तेमाल करते हैं?

यह उन लोगों और कोडिंग एजेंटों के लिए बना है जो टर्मिनल में रहते हैं। इसकी कुंजी-मैपिंग कॉन्ट्रैक्ट टेस्ट से तय की गई हैं, इसलिए मांसपेशियों की याद, और एजेंट की अपेक्षाएँ, अपडेट के बाद भी बनी रहती हैं।

मुझे कौन-सा संस्करण मिलता है?

इंस्टॉलर वही रिलीज़ इंस्टॉल करता है जिससे वह जुड़ा है — आज v0.5.0 — जब तक आप --version या DWP_VIM_VERSION से कोई दूसरा संस्करण नहीं चुनते: एक सटीक संस्करण, एक >= न्यूनतम सीमा या latest। DWP_VIM_REF कोई ब्रांच या कमिट लेता है; DWP_VIM_REF=main main का अनुसरण करता है। यह पृष्ठ रिलीज़ v0.5.0 का वर्णन करता है, जिसमें यहाँ सूचीबद्ध हर सुविधा शामिल है।

यह किस लाइसेंस के अंतर्गत है और कहाँ से आया है?

GPL-3.0। यह Andrés M Prieto के mu-vim से व्युत्पन्न है, और श्रेय रिपॉज़िटरी में बना रहता है।

स्रोत और लाइसेंस

स्रोत DeepWorkPlan Vim रिपॉज़िटरी में है। यह सार्वजनिक है और GPL-3.0 लाइसेंस के अंतर्गत है, mu-vim से व्युत्पन्न।

संबंधित किट प्रविष्टियाँ

  • Devcontainer — पुनरुत्पादन योग्य डेव वातावरण (पहला ऐडऑन)
  • Dailybot — टीम को दिखने वाली योजना लाइफ़साइकिल रिपोर्टिंग (दूसरा ऐडऑन)
  • AI Diff Reviewer — योजना के Final Review के दौरान स्थानीय समीक्षा (पाँचवाँ ऐडऑन)
  • Herdr — किसी कार्य को Herdr पेन में एक पीयर को सौंपना (v7)
  • Agentkit — हर टर्मिनल कोडिंग एजेंट के लिए एक कमांड, और हेडलेस डेलिगेशन (v7)