DeepWorkPlan Vim
DeepWorkPlan Vim คือตัวแก้ไขบนเทอร์มินัลสำหรับ Deep Work Plan: คอนฟิก Neovim สำหรับผู้คนและเอเจนต์เขียนโค้ดที่ทำงานบนเทอร์มินัล แผนของคุณ เอกสารของคุณ และดัชนีของทุกคำสั่งอยู่ห่างเพียงการกดคีย์เดียว
นี่เป็นผลิตภัณฑ์แยกต่างหาก ซึ่งนำเสนอเป็นส่วนเสริม vim ที่เป็นทางเลือกของ Deep Work Plan v7 (v7.0.0) Deep Work Plan ใช้ได้กับตัวแก้ไขใดก็ได้หรือไม่ใช้ตัวแก้ไขเลยก็ได้ และตัวแก้ไขนี้ก็ไม่ต้องใช้ Deep Work Plan คุณเพิ่มมันลงในเครื่องแยกต่างหากได้ และมันทำงานเป็นตัวแก้ไขไม่ว่าจะมีแผนหรือไม่ หน้านี้อธิบายรุ่น v0.5.0
ทำไมต้องมีตัวแก้ไขบนเทอร์มินัลสำหรับ Deep Work Plan
Deep Work Plan คือโฟลเดอร์ Markdown ภายใต้ .dwp/plans/ ประกอบด้วยเป้าหมาย งานย่อยแบบอะตอม ประตูตรวจสอบ และบันทึกที่ต่อเนื่อง ผู้คนตรวจทาน เอเจนต์ลงมือทำ และทั้งสองฝ่ายมักทำสิ่งนี้บนเทอร์มินัล ตัวแก้ไขที่สร้างมาเพื่องานนี้เก็บสามอย่างไว้ใกล้ตัว: ตัวแผนเอง เอกสารรอบ ๆ แผน และคีย์ที่พาคุณเคลื่อนไปมาระหว่างทั้งสอง
DeepWorkPlan Vim คือตัวแก้ไขนั้น เป็นคอนฟิก Neovim ที่คัดสรรมาอย่างดี — เซิร์ฟเวอร์ภาษา การเติมโค้ดอัตโนมัติ linting การจัดรูปแบบ การค้นหาแบบคลุมเครือ ต้นไม้ไฟล์ และธีมสีที่คัดมา โหลดแบบเลื่อนเวลา — บวกกับหน้าจอไม่กี่อย่างที่ทำให้มันเป็นตัวแก้ไขสำหรับ Deep Work Plan
- แผน
- งาน
- ประตูตรวจสอบ
- เสร็จสิ้น
ทัวร์: ดัชนีคำสั่งที่ไม่มีวันล้าสมัย
กด SPC h h (Space คือคีย์ leader) หรือรัน :DwpCommands แล้วตัวแก้ไขจะแสดงรายการการแมปคีย์ทุกรายการที่มี พร้อมคำอธิบายหนึ่งบรรทัด รายการนี้สร้างจากการแมปคีย์ที่ใช้งานอยู่ ดังนั้นการแมปที่นิยามไว้ที่ไหนก็ตามจะปรากฏในดัชนีโดยไม่ต้องลงทะเบียน และดัชนีจะไม่ล้าสมัย
นั่นคือทัวร์ทั้งหมด: เปิด nvim แล้วกด Space, h, h
- SPC h h เปิดดัชนีคำสั่งนี้
- SPC P ตัวเรียกดูแผน
- SPC m p ดูตัวอย่าง Markdown ในเบราว์เซอร์
- SPC m r แสดงผล Markdown ในบัฟเฟอร์
- <C-a> เลือกทั้งไฟล์
- SPC y คัดลอกไปยังคลิปบอร์ดของระบบ
- SPC t f ค้นหาไฟล์
- SPC t t ค้นหาแบบสดในโปรเจกต์
- SPC x รันหรือดูตัวอย่างไฟล์ปัจจุบัน
- SPC n ต้นไม้ไฟล์
- SPC t 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 หรือการคลิกที่ส่วนของแถบสถานะ จะเปิดแถบด้านข้างของแผน ครอบคลุมทุกโฟลเดอร์ .dwp/plans/ ในไดเรกทอรีปัจจุบันและไดเรกทอรีคอนฟิกของ Neovim และจัดกลุ่มแผนโดยเริ่มจากแผนที่ต้องการความสนใจมากที่สุด ในตัวแก้ไข ป้ายกำกับคือ Working, Needs attention, Ready, Not started และ Done แต่ละแผนแสดงแถบความคืบหน้า
กด Enter บนแผนเพื่อเปิดตัวอ่าน: เป้าหมายในประโยคเดียว สถานะและความคืบหน้า รายการงานที่ทำเครื่องหมายงานปัจจุบัน และทางลัดด้วยภาษาที่เข้าใจง่ายไปยังไฟล์ของแผนเอง แถบสถานะแสดงแผนที่ใช้งานอยู่แบบสด และหน้าจอเริ่มต้นแสดงสามอันดับแรก หน้าจอเหล่านี้อธิบายแผน และไม่เขียนอะไรลงใน .dwp/ เลย
หากต้องการอ่านไฟล์ Markdown ของแผนที่เดิม SPC m p จะแสดงตัวอย่างบัฟเฟอร์ปัจจุบันในเบราว์เซอร์ และ SPC m r จะแสดงผลภายในบัฟเฟอร์ ทั้งสองใช้ได้เฉพาะในบัฟเฟอร์ Markdown
การติดตั้ง
การติดตั้งมีสามคำสั่ง: ดาวน์โหลดสคริปต์ ตรวจสอบกับ SHA-256 ของไฟล์ที่เว็บไซต์นี้ให้บริการ แล้วจึงรัน ตัวติดตั้งปักหมุดรุ่นของตัวเองไว้ จึงติดตั้ง v0.5.0 ซึ่งเป็นรุ่นที่หน้านี้อธิบายไว้อย่างตรงตัว เว้นแต่คุณเลือกเวอร์ชันอื่น
curl -fsSL -o install.sh https://deepworkplan.com/vim/install.sh && \
echo "4890c140528d6b8d19b6bbc4102051e0b9dce2e26f43a693bdeab2e1cd8e196b install.sh" | shasum -a 256 -c && \
bash install.sh ตรวจสอบก่อนรัน
ต้องการอ่านก่อนหรือไม่ ดาวน์โหลดสคริปต์ ตรวจสอบลายนิ้วมือ อ่านเนื้อหา แล้วจึงรัน
- ดาวน์โหลดสคริปต์
curl -fsSL https://deepworkplan.com/vim/install.sh -o install.sh - แสดงค่า SHA-256 แล้วเทียบกับค่าด้านล่าง
sha256sum install.sh - อ่านสคริปต์
less install.sh - รันสคริปต์
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
ตัวติดตั้งทำตามลำดับดังนี้:
- ตรวจระบบปฏิบัติการและตัวจัดการแพ็กเกจของคุณ และติดตั้ง git, curl และตัวแปลภาษา Lua หากขาดอย่างใดอย่างหนึ่ง (ไม่ติดตั้งอะไรเลยเมื่อใช้
--skip-packages) - ระบุเวอร์ชัน: รุ่นของตัวเอง หรือรุ่นที่
--versionร้องขอ - เมื่อใช้
--nvim X.Y.Zจะติดตั้ง Neovim รุ่นนั้นลงใน~/.local/optโดยตรวจสอบกับ SHA-256 ที่ Neovim เผยแพร่ - ถามก่อนแตะต้องคอนฟิก Neovim ที่มีอยู่ หากไม่มีเทอร์มินัล มันจะหยุดและไม่เปลี่ยนแปลงอะไร เว้นแต่
--yesสั่งให้ย้ายคอนฟิกนั้นออกไปไว้ข้าง ๆ - โคลนรีโพซิทอรีไปที่
~/.config/nvimหรืออัปเดตหากมีอยู่แล้ว - รัน
lua install.luaของรีโพซิทอรีเอง - ติดตั้งปลั๊กอินแบบ headless และตรวจสอบ จึงไม่ต้องออกแล้วเปิดใหม่ เมื่อใช้
--strictการติดตั้งปลั๊กอินที่ล้มเหลวหรือไม่สมบูรณ์จะถือเป็นข้อผิดพลาด
สคริปต์ที่ให้บริการที่นี่เป็นสำเนาที่เหมือนกันทุกไบต์กับ install.sh ที่แท็ก v0.5.0 เช็กซัมของมันให้บริการอยู่ข้างกันที่ https://deepworkplan.com/vim/install.sh.sha256 คุณจึงตรวจสอบไฟล์ที่ดาวน์โหลดได้ด้วย shasum -a 256 -c install.sh.sha256 (บน Linux ใช้ sha256sum -c install.sh.sha256) หากต้องการตรวจสอบจากแหล่งที่สอง ให้เปรียบเทียบกับบรรทัด install.sh ใน SHA256SUMS บนหน้ารีลีสของ GitHub รัน 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
ใส่เครื่องหมายคำพูดครอบเวอร์ชันขั้นต่ำ เพื่อไม่ให้เชลล์อ่าน > เป็นการเปลี่ยนทิศทาง (redirection) เวอร์ชันจะแปลงเป็นแท็กของรุ่นเสถียรเท่านั้น หากต้องการแบรนช์หรือคอมมิต ให้ตั้งค่า 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และตรวจสอบกับ SHA-256 ที่ Neovim เผยแพร่ (Linux และ macOS)--skip-packagesไม่ติดตั้งแพ็กเกจระบบใด ๆ: อิมเมจต้องมี git, curl และ Lua อยู่แล้ว--strictออกด้วยรหัสที่ไม่ใช่ศูนย์เมื่อการติดตั้งปลั๊กอินแบบ headless ล้มเหลวหรือมีปลั๊กอินขาดหายไป
ทุกแฟล็กมีตัวแปรสภาพแวดล้อมคู่กัน (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 ของรีโพซิทอรี: ติดตั้ง Neovim ด้วย winget โคลนแท็ก
v0.5.0ไปที่%LOCALAPPDATA%\nvimแล้วรันlua install.luaจาก Git Bash - ใช้สัญญาอนุญาต 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/
ส่วนเสริม vim ของ v7 ใช้มันอย่างไร?
Deep Work Plan v7 นำเสนอตัวแก้ไขนี้เป็นส่วนเสริม vim ที่เป็นทางเลือกระหว่างการเริ่มต้นใช้งาน ส่วนเสริมจะตรวจหาการติดตั้งที่มีอยู่แบบอ่านอย่างเดียวผ่าน addon/surface.json ของตัวแก้ไข และจะเสนอการติดตั้งที่ปักหมุดเวอร์ชันและตรวจสอบเช็กซัมแล้วก็ต่อเมื่อได้รับความยินยอมจากคุณเท่านั้น มันไม่เขียนทับคอนฟิก Neovim ที่มีอยู่โดยไม่ได้รับอนุมัติอย่างชัดแจ้ง และไม่เคยเป็นสิ่งที่จำเป็น
เอเจนต์เขียนโค้ดใช้มันอย่างไร?
สร้างมาเพื่อผู้คนและเอเจนต์เขียนโค้ดที่อยู่บนเทอร์มินัล การแมปคีย์ของมันถูกตรึงด้วยการทดสอบสัญญา ความจำของกล้ามเนื้อและสิ่งที่เอเจนต์คาดหวังจึงยังอยู่หลังการอัปเดต
ฉันจะได้เวอร์ชันไหน?
ตัวติดตั้งจะติดตั้งรุ่นที่ตัวมันเองสังกัดอยู่ ซึ่งปัจจุบันคือ v0.5.0 เว้นแต่คุณเลือกเวอร์ชันอื่นด้วย --version หรือ DWP_VIM_VERSION: เวอร์ชันที่ระบุแน่นอน เวอร์ชันขั้นต่ำแบบ >= หรือ latest ส่วน DWP_VIM_REF รับแบรนช์หรือคอมมิต โดย DWP_VIM_REF=main จะติดตาม main หน้านี้อธิบายรุ่น v0.5.0 ซึ่งมีฟีเจอร์ทั้งหมดที่ระบุไว้ที่นี่
ใช้สัญญาอนุญาตอะไร และมาจากไหน?
GPL-3.0 พัฒนาต่อจาก mu-vim ของ Andrés M Prieto และเครดิตยังคงอยู่ในรีโพซิทอรี
ซอร์สโค้ดและสัญญาอนุญาต
ซอร์สโค้ดอยู่ใน รีโพซิทอรี DeepWorkPlan Vim เปิดเป็นสาธารณะและใช้สัญญาอนุญาต GPL-3.0 พัฒนาต่อจาก mu-vim
รายการที่เกี่ยวข้องของชุดเครื่องมือ
- Devcontainer — สภาพแวดล้อมพัฒนาที่ทำซ้ำได้ (ส่วนเสริมแรก)
- Dailybot — การรายงานวงจรชีวิตของแผนที่ทีมเห็นได้ (ส่วนเสริมที่สอง)
- AI Diff Reviewer — การทบทวนภายในเครื่องระหว่าง Final Review ของแผน (ส่วนเสริมที่ห้า)
- Herdr — มอบหมายงานให้เอเจนต์อีกตัวในpaneของ Herdr (v7)
- Agentkit — คำสั่งเดียวสำหรับเอเจนต์เขียนโค้ดบนเทอร์มินัลทุกตัว และการมอบหมายงานแบบ headless (v7)