سلام
در واقع این مشکل ، ناشی از Vim یا nano نیستش. بلکه به خاطر terminal emulator ای هستش که شما استفاده می کنین.
gnome-terminal در حالت عادی تایپ فارسی رو پشتیبانی نمی کنه مگه اینکه شما BiCon رو روش راه اندازی کنین.
ولی یکی از راحت ترین و بهترین راه ها که نیازی به نصب هیچ پکیجی خارج مخازن هم نداره استفاده از یه terminal emulator هستش که از زبان های RTL پشتیبانی بکنه یکی از بهترین این terminal emulator ها ، konsole هستش :
sudo apt install konsole
و حالا اگه Vim یا nano رو روش اجرا کنین می بینین که دیگه مشکلی با فارسی ندارن.
سلام. خیلی ممنون از پاسخ شما.
بله، دقیقا! در واقع این مشکل تا اونجا که فهمیدم هم به برنامه شبیه ساز ترمینال مربوط میشه که همونطور که گفتید باید زبان های Right-To-Left مثل فارسی رو پشتیبانی کنه.
میشه کمی بیشتر در مورد راه اندازی BiCon توضیح بدید؟
(چون من در حال حاظر از Terminator برای برنامه شبیه ساز ترمینال استفاده میکنم که مثل gnome-terminal این قابلیت RTL رو نداره و چه بهتر که بتونم همین قابلیت رو روی Terminator پیاده سازی کنم تا اینکه از شبیه ساز های دیگه مثل Konsole استفاده کنم...)
و حالا اگه Vim یا nano رو روش اجرا کنین می بینین که دیگه مشکلی با فارسی ندارن.
درود بر شما
من konsole رو داشتم و با توجه به اینکه خود ترمینال از زبان فارسی به خوبی پشتیبانی میکرد اما vim همچنان با زبان فارسی مشکل داشت. حالا nano رو نمیدونم.
دقیقا! تا اینجا که فهمیدم هم Vim و هم شبیه ساز ترمینالی که vim روش بالا میاد باید هر دو از RTL پشتیبانی کنند.
سلام دوست من
والا من تستش کردم همین الان اوکی بودش
خب شما در حال حاظر از Konsole استفاده میکنید که برعکس gnome-terminator و خیلی از شبیه ساز های دیگه از RTL پشتیبانی میکنه. و اما در مورد Vi که در کنسول در حال تست هستین خیلی اطلاعی ندارم. مگه vi به صورت پیش فرض از RTL پشتیبانی میکنه؟
بله چون رو سیستم Vim نداشتم مجبور شدم Vi رو تست کنم. ولی در کل Vim تفاوت اساسی که باعث بشه که RTL رو ساپورت نکنه نسبت به Vi نداره و این قضیه صرفاً به یه اپشن بستگی داره که در ادامه سعی می کنم توضیح بدم تا قضیه کامل شفاف بشه و مشکل این دوستمون هم رفع بشه :
دستور Vim در حالت عادی ، vim.basic رو ران می کنه که تنظمیات پیش فرض اون به صورتی هستش که termbidi توی ترمینال mlterm به صورت پیش فرض فعاله و توی بقیه تریمنال ها به صورت پیش فرض غیر فعال.
در نتیجه شما سه تا راه دارین :
1. از تریمنال mlterm استفاده کنین (این مورد رو خودم تست نکردم و صرفاً از روی help خود Vim می گم):
sudo apt install mlterm
2.از vim.tiny استفاده کنین (که این در واقع نسخه ی trimmed-down هستش و بعضی از امکاناتش نسبت به Vim کم شده و بعضی امکانات دیگه بهش اضافه شده ولی در کل از زبان های RTL به خوبی ساپورت می کنه):
vim.tiny
3.تنظمیات پیش فرض Vim رو تغییر بدین (طبیعتاً بهترین راه):
برای این کار کافیه خط زیر رو به vimrc اضافه کنین :
set termbidi
اینم عکس تست های مربوطه :
در مورد vim.basic چیزی نمیدونم (در واقع با این که خیلی وقت هست از ویم استفاده میکنم و زیاد با vimrc و تنظیمات و پلاگین های و مستندات ور میرم ولی vim.basic ای که شما میفرمایید رو تا به حال ندیدم. (باید یک چیزی مثل MYVIMRC$ باشه که در RUNTIME$ اجرا میشه، درسته؟ چه تنظیماتی در هنگام شروع اجرا شدن بر روی ویم بارگذاری میکنه؟)
و اما راه حل هایی که ارایه دادین.
راه حل اول و دوم رو به دلایلی ترجیه میدم استفاده نکنم.
اما راه حل سوم!
تنظیم کردن `termibidi` امکان RTL رو روی ویم فراهم میکنه؟
اگر با تنظیم همین option مشکل حل بشه که میمونه مشکلی که از طرف terminator ناشی میشه!
شما میدونید چطور باید این قابلیت RTL رو در ترمیناتور هم فعال کرد؟ (چون ترجیه میدم از terminator استفاده کنم و اگر بشه قابلیت RTL رو در این شبیه ساز فعال کنم عالی میشه!) در اولین پاسخ تون هم در مورد BiCon گفتید، میشه کمی بیشتر در این مورد توضیح بدید؟
تشکر از همه دوستان برای پاسخ ها.