# قصة NeoVim الذي حذف ملفات undo الخاصة بـ vim تعود إلى الواجهة: المشكلة لم تكن الخطأ بل الموقف

> **المغزى:** كل عملية ترحيل بيانات تتضمن لحظة يُقرر فيها قراءة الصيغة القديمة أو اعتبارها غير موجودة، وهي اللحظة التي يتذكرها المستخدم لسنوات.

- المصدر: المغزى (https://almaghza.com/a/2026-09-28-neovim-deleted-vim-undo-files/)
- التاريخ: 17 ربيع الآخر - 28 سبتمبر 2026 (2026-09-28)
- القسم: برمجيات
- الوسوم: Neovim، ترحيل البيانات، المصادر المفتوحة

عادت إلى صدارة Hacker News وLobsters يوم 27 سبتمبر 2026 قصة قديمة عن محرر النصوص NeoVim، عبر مقال نشره Marcin Wichary، الذي عمل في Google وMedium وFigma، على مدونته Unsung يوم 28 أغسطس 2026. وأصل القصة منشور لـ David Chisnall على Mastodon.

يستخدم Chisnall محرر vim منذ عام 2000، وكتب به 5 كتب ورسالة دكتوراه وعشرات الأبحاث. وأكثر ميزة يعتمد عليها هي persistent undo، التي تحفظ سجل التراجع في ملف على القرص، فيبقى السجل بعد إغلاق الملف وإعادة تشغيل الجهاز وعبر سنوات من التحديثات.

وحين جرّب NeoVim لاحظ أن التراجع لا يعمل. ثم فتح الملف نفسه في vim الأصلي فوجد أنه لا يعمل هناك أيضًا.

والسبب أن NeoVim غيّر صيغة ملفات الـ undo، لكنه لم يحوّل الملفات القديمة إلى الصيغة الجديدة، ولم يستخدم اسم ملف مختلفًا. بل وجد ملف vim الموجود، فحذفه بكل بياناته، ووضع مكانه ملفًا لا يستطيع vim قراءته، فتعطل التراجع في المحررين معًا.

وحين فتح Chisnall بلاغًا عن المشكلة، جاء الرد بأن الصيغة غير مستقرة وأن على المستخدم ألا يعتمد على بقاء البيانات، في ميزة اسمها حرفيًا persistent.

ويرى Chisnall أن الخطأ نفسه كان قابلًا للتسامح، أما الموقف فلا. فالفكرة الضمنية أن وجود ملف على جهاز المستخدم يحتوي بيانات قد تهمه ليس سببًا كافيًا لكي يمتنع البرنامج عن حذفه.

ويستحضر المقال ما كتبه Jef Raskin عام 2000 في كتاب The Humane Interface وسمّاه القانون الأول: لا يجوز للحاسوب أن يؤذي عمل المستخدم، أو أن يسمح بتقاعسه بوقوع الأذى عليه.

والقصة تمس كل فريق يطوّر منتجًا يحتفظ ببيانات مستخدميه. فكل عملية ترحيل تتضمن لحظة قرار بين قراءة الصيغة القديمة أو التعامل معها كأنها غير موجودة. والفريق الذي يحسن هذه اللحظة نادرًا ما يُشكر، لأن أحدًا لا يلاحظ بيانات لم تضع.

## المصادر

- [المقال الأصلي على مدونة Unsung](https://unsung.aresluna.org/they-had-no-concept-of-a-duty-of-care-to-their-users/)
- [كتاب The Humane Interface لـ Jef Raskin](https://en.wikipedia.org/wiki/The_Humane_Interface)
