توی fish shell از ورژن 4 به بعد، اومدن bind های پیشفرض رو عوض کردن و ماسل مموری کاربرای قدیمی رو به چالش کشیدن. مثال تفاوت
alt+backspace بین ورژن 3 و 4:🔹Version 3
curl https://wttr.in/Tehran # before
curl https://wttr.in/ # after
🔸Version 4
curl https://wttr.in/Tehran # before
curl # after
توی ورژن 3 کلمه پاک میشه ورژن 4 توکن.
🛠 راه حل
اگه مثل من به ورژن 3 عادت دارید، برای برگشتن به رفتار قدیمی فایل
fish_user_key_bindings.fish رو توی مسیر زیر بسازید:~/.config/fish/functions/
و کد زیر رو داخلش paste کنید:
function fish_user_key_bindings
bind alt-left prevd-or-backward-word
bind alt-right nextd-or-forward-word
bind alt-backspace backward-kill-word
bind alt-delete kill-word
bind ctrl-left backward-token
bind ctrl-right forward-token
bind ctrl-backspace backward-kill-token
bind ctrl-delete kill-token
bind ctrl-alt-h backward-kill-word
end
اسم فایل و فانکشن نه تنها باید با هم یکی باشن، بلکه باید دقیقا همین اسم باشن — چون fish_user_key_bindings یه هوک هاردکدشده fish هست که بعد از لود شدن bind های پیشفرض صدا زده میشه.
پ.ن: فیش یه مکانیزم autoload داره که هر فایلی توی
~/.config/fish/functions/قرار بگیره به عنوان یه فانکشن مستقل لود میشه.
🔗 Issue 10926
🔘 @TerminalNotes <- #linux #fish