Ghost Cut: بازطراحی برش و چسباندن متن
خلاصهٔ کاملتر
نویسنده تو این پست ادعای تندی داره: برش و چسباندن تو هر واژهپرداز و ویرایشگر کد و فیلد متنی مرورگری که تا حالا استفاده کردید خرابه، و دهههاست همینطور مونده. منظورش از cut & paste ترکیب دو عملیاته: برش که متن رو از سند برمیداره و میذاره تو کلیپبورد، و چسباندن که همون متن رو جای جدید درج میکنه.
ایراد اول اینه که برش کامل برگشتپذیر نیست. undo متن رو به سند برمیگردونه، ولی چیزی که تو کلیپبورد از بین رفته دیگه برنمیگرده. ایراد دوم اینه که برش، سند رو بلافاصله بازچینش میکنه و کاربر باید دوباره دنبال نقطهٔ مقصد بگرده. ایراد سوم هم اینه که این کار مفهوماً یه «انتقال» واحده، ولی برگردوندنش دستکم دو تا undo لازم داره — و اگه بین برش و چسباندن ویرایش دیگهای انجام شده باشه، بیشتر.
راهحل پیشنهادی که نویسنده به ایشمائل اضافه کرده «گوستکات» نام داره و حافظهٔ عضلانی کاربر رو دست نمیزنه. با فشردن ctrl+x متن انتخابشده کمرنگ و بیاثر میشه: نمیشه روش کلیک کرد و مکاننما ازش میپره، ولی هنوز سر جاشه. تو این مرحله نه چیزی وارد کلیپبورد شده و نه چیزی برای undo وجود داره؛ اگه پشیمون شدید، escape متن رو به حالت عادی برمیگردونه.
با چسباندن، همون بازهٔ محوشده از جای قبلی برداشته و کنار مکاننما گذاشته میشه؛ یعنی یک عملیات انتقال اتمیک که با یک undo برمیگرده و کلیپبورد رو هم آلوده نمیکنه. نویسنده میگه این ایده بیسابقه نیست و اکسل هم سلولهای بریدهشده رو کمرنگ نشون میده، ولی تو ویرایشگر متن جایی ندیدهتش.
عارضهٔ جانبیاش اینه که برشِ کلاسیک (بدون چسباندن) حالا دو کلید لازم داره: کپی، بعد backspace. به گفتهٔ نویسنده این معامله بهصرفهست چون بهندرت بدون چسباندن برش میزنه. او امیدواره ویرایشگرهای دیگه هم این رفتار رو بردارن، هرچند قبول داره استدلالش برای ویرایشگرهای کد ضعیفتره، چون کد مشکل بازچینش نداره.
نکات کلیدی:
- برش، کلیپبورد رو تغییر میده و undo نمیتونه اون تغییر رو برگردونه
- گوستکات متن رو محو و غیرفعال میکنه ولی سر جاش نگه میداره
- کلیپبورد فقط وقتی درگیر میشه که واقعاً کپی کرده باشید
- انتقال متن یک عملیات اتمیک میشه که با یک undo برمیگرده
- برش بدون چسباندن به دو کلید تبدیل میشه: کپی و بعد backspace