راهنمای نصب آرچ
دسته بندی : #آموزش
توضیحات : اگر دنبال نصب آروچ هستین و داکیومنتی نیاز دارین که همه چیز رو دور هم جمع کرده باشه که نخواید برای نصب آرچ چندین صفحه رو بخونید این می تونه مفید باشه.
لینک :
Github
💠 نکته : این آموزش برای کپی و پیست نیست، برای این که، بتونید از طریقش یادبگیرید.
پس قبل از استفاده از اون تمام مراحل رو درک کنید و حتی ابزار های جایگزین رو هم جست و جو کنید و بشناسید.
🔅@LinFAQ
🔅@LinAcademy
دسته بندی : #آموزش
توضیحات : اگر دنبال نصب آروچ هستین و داکیومنتی نیاز دارین که همه چیز رو دور هم جمع کرده باشه که نخواید برای نصب آرچ چندین صفحه رو بخونید این می تونه مفید باشه.
لینک :
Github
💠 نکته : این آموزش برای کپی و پیست نیست، برای این که، بتونید از طریقش یادبگیرید.
پس قبل از استفاده از اون تمام مراحل رو درک کنید و حتی ابزار های جایگزین رو هم جست و جو کنید و بشناسید.
🔅@LinFAQ
🔅@LinAcademy
👍2👎1
چرا مانجارو استفاده نکنیم.
دسته بندی : #کاربردی
توضیحات: حتما براتون سوال شده چرا مانجارو توی جوامع جدیدا منفور شده یا میگن استفاده نکنید، توی این پست قرار به این پرداخته بشه.
مرجع و لینک :
w.eggman.ir
🔅@LinFAQ
🔅@LinAcademy
دسته بندی : #کاربردی
توضیحات: حتما براتون سوال شده چرا مانجارو توی جوامع جدیدا منفور شده یا میگن استفاده نکنید، توی این پست قرار به این پرداخته بشه.
مرجع و لینک :
w.eggman.ir
🔅@LinFAQ
🔅@LinAcademy
👎4👍3
چگونه تاخیر دوربین هنگام استفاده در MPV را حذف کنیم ؟
دسته بندی : #کاربردی
دستور زیر را در ترمینال وارد کنید :
🔅@LinAsk
🔅@LinAcademy
دسته بندی : #کاربردی
دستور زیر را در ترمینال وارد کنید :
mpv --profile=low-latency --untimed /dev/video0
نکته : اگر از دو عدد وب کم استفاده می کنید بجای 0 از 1 استفاده کنید 🔅@LinAsk
🔅@LinAcademy
👏1
چگونه توسط wget یک لیست رو دانلود کنیم ؟
دسته بندی : #کاربردی
۱ : ابتدا یک فایل متنی ایجاد کرده و لینک های دانلود را در آن جایگذاری کنید ( الان اکثر سایت ها گزینه کپی کردن همه لینک ها رو دارن )
۲ : سپس ترمینال را باز کرده و به مسیر فایل متنی رفته و از اپشن -i برای اینکار استفاده کنید
🔅@LinAcademy
دسته بندی : #کاربردی
۱ : ابتدا یک فایل متنی ایجاد کرده و لینک های دانلود را در آن جایگذاری کنید ( الان اکثر سایت ها گزینه کپی کردن همه لینک ها رو دارن )
۲ : سپس ترمینال را باز کرده و به مسیر فایل متنی رفته و از اپشن -i برای اینکار استفاده کنید
wget -i file-name.txt🔅@LinAsk
🔅@LinAcademy
👍1👏1
روش اضافه کردن گلاسوری های بابیلون در نرم افزار GoldenDict
دسته بندی : #کاربردی
۱ : ابتدا بسته به نیازتان دیکشینری مورد نظر را دانلود کنید
۲ : اگر داخل فایل فشرده باشه استخراج کنید و درنهایت فایل های با پسوند .BGLخواهید داشت
۳ : وارد نرم افزار GoldenDict شده و گزینه Edit سپس گزینه Dictionaries را انتخاب کنید
۴ : در پنجره باز شده وارد تب Files شده و گزینه Add را بزنید
۵ : مسیر فایل های دانلود شده را داده و روی گزینه Apply کلید کنید
نکته :
۱ : علاوه بر دیکشینری های بابیلون شما میتوانید از تب WikiPedia ادرس ویکی پدیای فارسی را داده تا کلمه مورد نظر شما در ویکی پدیا نیز جستجو شود
۲ : همچنین میتوانید سایت های ترجمه را از تب Websites اضافه کنید
راهنمایی : جهت فعال یا غیره فعال کردن دیکشینری مورد نظر از نوار ابزار > قسمت دیکشینری استفاده کنید ( با علامت ستاره قرمز مشخص شده )
🔅@LinAsk
🔅@LinAcademy
دسته بندی : #کاربردی
۱ : ابتدا بسته به نیازتان دیکشینری مورد نظر را دانلود کنید
۲ : اگر داخل فایل فشرده باشه استخراج کنید و درنهایت فایل های با پسوند .BGLخواهید داشت
۳ : وارد نرم افزار GoldenDict شده و گزینه Edit سپس گزینه Dictionaries را انتخاب کنید
۴ : در پنجره باز شده وارد تب Files شده و گزینه Add را بزنید
۵ : مسیر فایل های دانلود شده را داده و روی گزینه Apply کلید کنید
نکته :
۱ : علاوه بر دیکشینری های بابیلون شما میتوانید از تب WikiPedia ادرس ویکی پدیای فارسی را داده تا کلمه مورد نظر شما در ویکی پدیا نیز جستجو شود
۲ : همچنین میتوانید سایت های ترجمه را از تب Websites اضافه کنید
راهنمایی : جهت فعال یا غیره فعال کردن دیکشینری مورد نظر از نوار ابزار > قسمت دیکشینری استفاده کنید ( با علامت ستاره قرمز مشخص شده )
🔅@LinAsk
🔅@LinAcademy
❤2👍1
حل مشکل Warp
دسته بندی : #دیاناسDNS
شرح ماجرا : بعضی از کاربر ها گذارش کردن که وقتی می خوان به Warp وصل بشن توی توزیع خودشون متاسفانه مشکل قطع و وصل شدن مکرر رو تجربه می کنن، دلیل این مشکل جلوگیری سیستم شما از تغییر DNS هستش، شما برای حل این مشکل باید سرویس systemd-resolved رو کانفیگ کنید.
۱ : به کمک ادیتور تحت ترمینال خودتون با مجوز ریشه فایل
۲ : دنبال ResolveUnicastSingleLabel بگردید و اون رو از کامنت خارج کنید.
۳ : مقداری اولیه متغییر رو از no به yes تغییر بدید و فایل رو ذخیر کنید.
۴ : سرویس رو به کمک systemctl ریستارت کنید.
🔅@LinFAQ
🔅@LinAcademy
دسته بندی : #دیاناسDNS
شرح ماجرا : بعضی از کاربر ها گذارش کردن که وقتی می خوان به Warp وصل بشن توی توزیع خودشون متاسفانه مشکل قطع و وصل شدن مکرر رو تجربه می کنن، دلیل این مشکل جلوگیری سیستم شما از تغییر DNS هستش، شما برای حل این مشکل باید سرویس systemd-resolved رو کانفیگ کنید.
۱ : به کمک ادیتور تحت ترمینال خودتون با مجوز ریشه فایل
/etc/systemd/resolved.confرو باز کنید.
۲ : دنبال ResolveUnicastSingleLabel بگردید و اون رو از کامنت خارج کنید.
۳ : مقداری اولیه متغییر رو از no به yes تغییر بدید و فایل رو ذخیر کنید.
۴ : سرویس رو به کمک systemctl ریستارت کنید.
systemctl restart systemd-resolved.service💠 نکته : همیشه ممکن مشکل از این بخش نباشه برای اطلاعات بیشتر می تونید ریپوی گیت هاب cloudflare-docs رو مطالعه کنید.
🔅@LinFAQ
🔅@LinAcademy
👍1
#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی
راجب wrap داخل نئوویم:
تو یه سری تکست ادیتور ها وقتی کاراکتر های لاین بیشتر از فضای قابل نمایش میشه، ادامه متن داخل همون خط میمونه و پنهان میشه.
اما تو یه سری دیگه مثل ویم طوری نمایش داده میشه که به ظاهر چند خط به نظر میاد، چون آپشن wrap دیفالت on هست.
اگه میخواید حالت اول ایجاد بشه میشه مقدار wrap رو false کرد.
ضمناً help اش رو چک کنید
(
چون 2 تا آپشن دیگه رو هم پیشنهاد داده که فکر کنم مفید باشه.
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #کاربردی
راجب wrap داخل نئوویم:
تو یه سری تکست ادیتور ها وقتی کاراکتر های لاین بیشتر از فضای قابل نمایش میشه، ادامه متن داخل همون خط میمونه و پنهان میشه.
اما تو یه سری دیگه مثل ویم طوری نمایش داده میشه که به ظاهر چند خط به نظر میاد، چون آپشن wrap دیفالت on هست.
اگه میخواید حالت اول ایجاد بشه میشه مقدار wrap رو false کرد.
ضمناً help اش رو چک کنید
(
:h 'warp'
)چون 2 تا آپشن دیگه رو هم پیشنهاد داده که فکر کنم مفید باشه.
🔅@LinFAQ
🔅@LinAcademy
❤2
#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی
داخل نئوویم برای کانفیگ با لوا:
خب میشه از
اما جدای از اون، برای
ظاهرا میشه جای همشون
(
میبینیم نوشته local to buffer پس
طبیعتا
source
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی
داخل نئوویم برای کانفیگ با لوا:
خب میشه از
vim.o
و vim.opt
استفاده کرد که یکم ظاهرا فرق دارن...اما جدای از اون، برای
vim.o
هم چیزایی مثل vim.bo
و vim.wo
داریم.ظاهرا میشه جای همشون
vim.o
استفاده کرد و ایرادی نداره، اما اگه بخوایم دقیق باشیم و ببینیم هر کدوم کجا کاربرد داره کافیه به help اون آپشن نگاه کنیم، مثلا با چک کردن(
:h 'shiftwidth'
)میبینیم نوشته local to buffer پس
vim.bo
مناسبشه.طبیعتا
vim.wo
مناسب local to window هست.source
🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی #آموزشی #pacman
برا داشتن لیست ابزار های نصب شده داخل پکمن:
کاری که انجام دادم این بود که لیست کل پکیج های نصب شده رو داخل یه فایل نگه داشتم (هر خط اسم یه پکیج)، مثلا توی مسیر زیر:
/home/user/packages.txt
خب حالا هر بار میخوام سیستم رو بروز کنم یا پکیجی رو نصب کنم از دستور زیر استفاده میکنم (که میشه براش یه alias ردیف کرد):
(چون sudo اولش هست اگه ~ استفاده کنم تو home یوزرم دنبال فایله نمیگرده...
برای همین مسیر کامل دادم، هنوز تست نکردم
جواب هست یا نه)، که خب لیست فایل رو میگیره و اگه نصب نبودن همزمان با بروز کردن سیستم اون هارو هم نصب میکنه
(فلگ
میتونید یه alias ردیف کنید براش:
اینطوری برا نصب پکیج، کافیه اسم پکیج رو به اون فایل اضافه کنید و بعد update رو اجرا کنید.
برا لیست کردن پکیج های نصب شده میشه از دستور زیر استفاده کرد:
منبع: https://wiki.archlinux.org/title/pacman/Tips_and_tricks#List_of_installed_packages
ضمنا منبع بالا برای بروز کردن لیست پکیج های نصب شده روی سیستم بعد هر بار نصب و حذف پکیج هم راه حل داده.
اگه بخواید بر اساس اون لیست کل پکیج ها حذف/ نصب بشن (هر پکیجی که تو لیست نبود ولی نصب بود حذف بشه و هر پکیجی که تو لیست بود ولی نصب نبود نصب بشه) میشه از این بخش ویکی کمک گرفت:
در نهایت این شیوه ها برای نصب دوباره پکیج ها روی سیستم جدید و به صورت کلی مدیریتشون کمک میکنه.
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #کاربردی #آموزشی #pacman
برا داشتن لیست ابزار های نصب شده داخل پکمن:
کاری که انجام دادم این بود که لیست کل پکیج های نصب شده رو داخل یه فایل نگه داشتم (هر خط اسم یه پکیج)، مثلا توی مسیر زیر:
/home/user/packages.txt
خب حالا هر بار میخوام سیستم رو بروز کنم یا پکیجی رو نصب کنم از دستور زیر استفاده میکنم (که میشه براش یه alias ردیف کرد):
sudo pacman -Syu --needed - < /home/user/packages.txt
(چون sudo اولش هست اگه ~ استفاده کنم تو home یوزرم دنبال فایله نمیگرده...
برای همین مسیر کامل دادم، هنوز تست نکردم
$HOME
جواب هست یا نه)، که خب لیست فایل رو میگیره و اگه نصب نبودن همزمان با بروز کردن سیستم اون هارو هم نصب میکنه
(فلگ
needed--
برا اینه که اگه از قبل اون پکیج ها نصب و بروز بودن دوباره نصبشون نکنه).میتونید یه alias ردیف کنید براش:
alias update='sudo pacman -Syu --needed - < /home/user/packages.txt'
اینطوری برا نصب پکیج، کافیه اسم پکیج رو به اون فایل اضافه کنید و بعد update رو اجرا کنید.
برا لیست کردن پکیج های نصب شده میشه از دستور زیر استفاده کرد:
pacman -Qqe > pkglist.txt
منبع: https://wiki.archlinux.org/title/pacman/Tips_and_tricks#List_of_installed_packages
ضمنا منبع بالا برای بروز کردن لیست پکیج های نصب شده روی سیستم بعد هر بار نصب و حذف پکیج هم راه حل داده.
اگه بخواید بر اساس اون لیست کل پکیج ها حذف/ نصب بشن (هر پکیجی که تو لیست نبود ولی نصب بود حذف بشه و هر پکیجی که تو لیست بود ولی نصب نبود نصب بشه) میشه از این بخش ویکی کمک گرفت:
در نهایت این شیوه ها برای نصب دوباره پکیج ها روی سیستم جدید و به صورت کلی مدیریتشون کمک میکنه.
🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی #آموزشی
دیروز گفته بودم وقتی از '
ران میکردم، ولی الان که مستقیم دستور رو ران کردم حتی با استفاده از
یه حدسی که دارم اینه که الان سمت راست دستور که با > به سمت چپ داده میشه مستقیم اجرا میشه، ولی وقتی داخل اسکریپت بود و اسکریپت رو با sudo ران میکردم هر 2 بخش دستور با sudo ران میشد؟
حدس دومم اینه که چون داخل اسکریپت بود ~ رو تبدیل نمیکرد؟ که نباید اینطوری باشه پس حدس اولم منطقی تر بنظر میاد... فکر کنم وقتی داخل اسکریپت بود به صورت
اجراش میکرد؟
این سری بیشتر سوالی شد (((=
ولی به هر حال، چون قراره
و هم
و هم مسیر کامل جوابن.
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #کاربردی #آموزشی
دیروز گفته بودم وقتی از '
~
' استفاده کردم جواب نداد، اون موقع کامند رو برای تست توی یه فایل انداخته بودم و اسکریپت رو به صورتsudo ./test.sh
ران میکردم، ولی الان که مستقیم دستور رو ران کردم حتی با استفاده از
~
هم مسئله ای پیش نیومد.یه حدسی که دارم اینه که الان سمت راست دستور که با > به سمت چپ داده میشه مستقیم اجرا میشه، ولی وقتی داخل اسکریپت بود و اسکریپت رو با sudo ران میکردم هر 2 بخش دستور با sudo ران میشد؟
حدس دومم اینه که چون داخل اسکریپت بود ~ رو تبدیل نمیکرد؟ که نباید اینطوری باشه پس حدس اولم منطقی تر بنظر میاد... فکر کنم وقتی داخل اسکریپت بود به صورت
sudo pacman -Syu --needed - < sudo ~/path/to/file.txt
اجراش میکرد؟
این سری بیشتر سوالی شد (((=
ولی به هر حال، چون قراره
alias
باشه پس هم~
و هم
$HOME
و هم مسیر کامل جوابن.
🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی
یه سری دستور برای جستجو و نصب و حذف راحت تر پکیج ها داخل پکمن با کمک
(فقط چون با fzf ردیف شدن جای alias باید با function ردیفشون کرد):
https://wiki.archlinux.org/title/fzf
https://wiki.archlinux.org/title/pacman/Tips_and_tricks#Browsing_packages
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی
یه سری دستور برای جستجو و نصب و حذف راحت تر پکیج ها داخل پکمن با کمک
fzf
(فقط چون با fzf ردیف شدن جای alias باید با function ردیفشون کرد):
https://wiki.archlinux.org/title/fzf
https://wiki.archlinux.org/title/pacman/Tips_and_tricks#Browsing_packages
🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی
راجب statusline و احتمالا چند تا مورد دیگه داخل (نئو)ویم:
همونطور که میدونید
ویم (vim)
و
نئوویم (nvim)
وقتی
به صورت پیش فرض (بدون هیچ کانفیگ و پلاگینی)
این statusline اطلاعات نسبتا زیادی شامل فایل و مسیر، فلگ ها مثل read only، وضعیت فایل که ویرایش شده یا نه، خطی که روش هستیم و... رو نمایش میده.
خب برای شخصی سازیش میشه تو 40/50 لاین یه استیتوس لاین کامل تر ساخت یا یه پلاگین نصب کرد یا هزار راه دیگه.
نحوه ساختش هم اینطوری هست که میگیم
و بعد مقادیر رو در ادامش اضافه میکنیم، اگه بخوایم موردی رو هم به statusline موجود اضافه کنیم از
=+
به جای
=
استفاده میکنیم، داخل لوا هم وضعیت کم و بیش همینه:
خب یه سوالی پیش میاد:
اگه بخوایم statusline دیفالت رو نگه داریم و یکی 2 آپشن بهش اضافه کنیم نمیتونیم از همین شیوه بالا پیش بریم و فقط مقدار دهی اولیه رو انجام ندیم؟
مثلا بخوایم شماره بافر رو به statusline مون اضافه کنیم ولی بقیش دیفالت بمونه نمیتونیم از
استفاده کنیم؟
و نکته امروز به اینجا ختم میشه که جواب خیلی شیک و مجلسی "نه" هست، ظاهرا هیچ مقدار دهی اولیه ای برای statusline وجود نداره و بعد انجام دستور بالا
(در صورتی که پلاگین یا کانفیگی برای statusline انجام نداده باشید)
تنها چیزی که داخل statusline میبینید شماره بافر فعلی هست.
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی
راجب statusline و احتمالا چند تا مورد دیگه داخل (نئو)ویم:
همونطور که میدونید
ویم (vim)
و
نئوویم (nvim)
وقتی
laststaus
روی مقدار 2 یا 3 باشه یه statusline
رو پایین صفحه نمایش میدن.به صورت پیش فرض (بدون هیچ کانفیگ و پلاگینی)
این statusline اطلاعات نسبتا زیادی شامل فایل و مسیر، فلگ ها مثل read only، وضعیت فایل که ویرایش شده یا نه، خطی که روش هستیم و... رو نمایش میده.
خب برای شخصی سازیش میشه تو 40/50 لاین یه استیتوس لاین کامل تر ساخت یا یه پلاگین نصب کرد یا هزار راه دیگه.
نحوه ساختش هم اینطوری هست که میگیم
set statusline=something
و بعد مقادیر رو در ادامش اضافه میکنیم، اگه بخوایم موردی رو هم به statusline موجود اضافه کنیم از
=+
به جای
=
استفاده میکنیم، داخل لوا هم وضعیت کم و بیش همینه:
vim.o.statusline = 'something'
vim.o.statusline = vim.o.statusline .. 'something'
خب یه سوالی پیش میاد:
اگه بخوایم statusline دیفالت رو نگه داریم و یکی 2 آپشن بهش اضافه کنیم نمیتونیم از همین شیوه بالا پیش بریم و فقط مقدار دهی اولیه رو انجام ندیم؟
مثلا بخوایم شماره بافر رو به statusline مون اضافه کنیم ولی بقیش دیفالت بمونه نمیتونیم از
vim.o.statusline = vim.o.statusline .. ' %n'
استفاده کنیم؟
و نکته امروز به اینجا ختم میشه که جواب خیلی شیک و مجلسی "نه" هست، ظاهرا هیچ مقدار دهی اولیه ای برای statusline وجود نداره و بعد انجام دستور بالا
(در صورتی که پلاگین یا کانفیگی برای statusline انجام نداده باشید)
تنها چیزی که داخل statusline میبینید شماره بافر فعلی هست.
🔅@LinFAQ
🔅@LinAcademy
👍1
#روزی_یک_نکته (این سری) با mohammad.b
دستهبندی: #آموزشی #کاربردی
برای نوشتن استرینگ چند خطی داخل
یک فایل temp میسازه و محتوای بین بلاکو توش میذاره و میده به برنامه مثل:
معادل:
و بلاک اخرش(توی اینجا test_multistring) here doc ها باید بدون space/tab باشه.
source
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی
برای نوشتن استرینگ چند خطی داخل
bash
یک فایل temp میسازه و محتوای بین بلاکو توش میذاره و میده به برنامه مثل:
cat <<test_multistring
hi world
test
test_multistring
معادل:
echo -e "hi world\ntest" > /tmp/test.txt
cat /tmp/test.txt && rm /tmp/test.txt
و بلاک اخرش(توی اینجا test_multistring) here doc ها باید بدون space/tab باشه.
source
🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با دلاتو (با تغییر)
#آموزشی #کاربردی
بعد نصب دوبار توزیع ارچ در یک روز داشتم و دیدم برای کسی دیگه هم پیش اومده که فولدر های
Downloads
Desktop
Music
و...
ساخته نمیشه فک میکردم باگی چیزی باشه ولی خب نفهمیدم آخر برای چیه ولی خب دلاتو این پکیج معرفی کرد
که با این دستور
کار میکنه طبیعتا دستی هم اجرا میشه ولی باید
داخل این مسیر
به این صورت وارد کنی
یه سری فایل کانفیگ با محتوای خاص میسازه که محتوای یکی از اون فایلا تعیین میکنه چه دایرکتوری هایی با چه نام هایی ساخته بشه.
به صورت کلی صرفا با نصب پکیج و ریست سیستم، خودش بقیه چیز هارو ردیف میکنه.
و اگه پکیج نصب بود و بعد ریست سیستم فایل کانفیگ و در نتیجه یوزر دایرکتوری ها درست نشد، چک کنید ببینید سرویسش فعال هست یا نه.
برای خود من که با دستور
درست شد
لینک ویکی ارچ : source
🔅@LinFAQ
🔅@LinAcademy
#آموزشی #کاربردی
بعد نصب دوبار توزیع ارچ در یک روز داشتم و دیدم برای کسی دیگه هم پیش اومده که فولدر های
Downloads
Desktop
Music
و...
ساخته نمیشه فک میکردم باگی چیزی باشه ولی خب نفهمیدم آخر برای چیه ولی خب دلاتو این پکیج معرفی کرد
xdg-user-dirs
که با این دستور
xdg-user-dirs-update
کار میکنه طبیعتا دستی هم اجرا میشه ولی باید
داخل این مسیر
~/.config/user-dirs.dirs
به این صورت وارد کنی
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_VIDEOS_DIR="$HOME/Videos"
یه سری فایل کانفیگ با محتوای خاص میسازه که محتوای یکی از اون فایلا تعیین میکنه چه دایرکتوری هایی با چه نام هایی ساخته بشه.
به صورت کلی صرفا با نصب پکیج و ریست سیستم، خودش بقیه چیز هارو ردیف میکنه.
و اگه پکیج نصب بود و بعد ریست سیستم فایل کانفیگ و در نتیجه یوزر دایرکتوری ها درست نشد، چک کنید ببینید سرویسش فعال هست یا نه.
برای خود من که با دستور
xdg-user-dirs-update
درست شد
لینک ویکی ارچ : source
🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با mohammad.b
دستهبندی: #آموزشی #کاربردی
عکس توی ترمینال
نمیشه بشه هم چیز خوبی در نمیاد (یکم پیچیده میشه و باید ترمینالت ساپورت کنه) چون ترمینالا فقط کاراکتر میشناسن (ascii, unicode)
پس چطور این ابزارا مثل
libsixel
icat
ueberzug
کار میکنن:
libsixel
icat (kitty):
یک پروتکل خاص دارن و میان از
control characters
استفاده میکنن. بعد ترمینالت وقتی فلان کنترل کاراکتر رو میگیره میفهمه این عکسه و فلان پیکسلارو فلان جا باید یه رنگی بکنه برای همین برای این دوتا باید ترمینالت ساپورت کنه.
ueberzug (rip):
میاد مستقیم به X server میگه یک پنجره توی x, y ترمینالت بسازه و عکسو توش بزار برای همینم نیازی به ساپورت ترمینالت نداره
Source
توضیح سایت kitty راجبش
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی
عکس توی ترمینال
نمیشه بشه هم چیز خوبی در نمیاد (یکم پیچیده میشه و باید ترمینالت ساپورت کنه) چون ترمینالا فقط کاراکتر میشناسن (ascii, unicode)
پس چطور این ابزارا مثل
libsixel
icat
ueberzug
کار میکنن:
libsixel
icat (kitty):
یک پروتکل خاص دارن و میان از
control characters
استفاده میکنن. بعد ترمینالت وقتی فلان کنترل کاراکتر رو میگیره میفهمه این عکسه و فلان پیکسلارو فلان جا باید یه رنگی بکنه برای همین برای این دوتا باید ترمینالت ساپورت کنه.
ueberzug (rip):
میاد مستقیم به X server میگه یک پنجره توی x, y ترمینالت بسازه و عکسو توش بزار برای همینم نیازی به ساپورت ترمینالت نداره
Source
توضیح سایت kitty راجبش
🔅@LinFAQ
🔅@LinAcademy
🔥2
#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی
راجب فرق
خب میدونیم داخل (نئو)ویم leader به صورت دیفالت backslash هست و میشه تغییرش داد، 2 گزینه پیش میاد:
mapleader و maplocalleader،
که ظاهرا گزینه دوم (maplocalleader) برای کی بایند هایی هست که به بافر محدود هستن.
ظاهرا برای filetype plugin ها اگه کی بایندی بخوان ردیف کنن که از
اطلاعات بیشتر:
mapleader
maplocalleader
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی
راجب فرق
mapleader
maplocalleader
خب میدونیم داخل (نئو)ویم leader به صورت دیفالت backslash هست و میشه تغییرش داد، 2 گزینه پیش میاد:
mapleader و maplocalleader،
که ظاهرا گزینه دوم (maplocalleader) برای کی بایند هایی هست که به بافر محدود هستن.
ظاهرا برای filetype plugin ها اگه کی بایندی بخوان ردیف کنن که از
leader
استفاده میکنه، پیشنهاد میشه از مقدار localleader
براش استفاده کنن.اطلاعات بیشتر:
mapleader
maplocalleader
🔅@LinFAQ
🔅@LinAcademy
neovim.io
Map - Neovim docs
Neovim user documentation
👍1
#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی #neovim
راجب ذخیره مکان cursor داخل نئوویم:
یه فیچری که دیفالت داخل ویم وجود داره اما نئوویم نه،
ذخیره کردن مکان cursor هست که اجازه میده بعد از خروج از فایل و ورود دوباره بهش مکان cursor به آخرین جایی که بوده برگرده.
داخل help نئوویم اگه سرچ کنید
برای همین از vim.cmd استفاده کردم تا بتونم مستقیم داخل init.lua قرارش بدم که نتیجه این شد:
https://github.com/neovim/neovim/issues/16339
یه بحثی هم راجب عملکرد و بهینه شدن این روش تو گروه شد آخرش به این نتیجه رسیدیم
روش دوم ایده پاکروح بود.
روش اول دلاتو
(پست ادیت شد)
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی #neovim
راجب ذخیره مکان cursor داخل نئوویم:
یه فیچری که دیفالت داخل ویم وجود داره اما نئوویم نه،
ذخیره کردن مکان cursor هست که اجازه میده بعد از خروج از فایل و ورود دوباره بهش مکان cursor به آخرین جایی که بوده برگرده.
داخل help نئوویم اگه سرچ کنید
restore-cursor
یه دستور برای حلش گفته، اما با vimscript هست.برای همین از vim.cmd استفاده کردم تا بتونم مستقیم داخل init.lua قرارش بدم که نتیجه این شد:
-- :h restore-cursor: {{{
vim.cmd([[
autocmd BufRead * autocmd FileType <buffer> ++once
\ if &ft !~# 'commit\|rebase' && line("'\"") > 1 && line("'\"") <= line("$") | exe 'normal! g
"' | endif
]])
-- }}}
در مورد این که چرا این فیچر به صورت پیش فرض داخل نئوویم نیست و همینطور معادل هایی که به جای قرار دادن vimscript داخل vim.cmd، کامل از لوا استفاده کردن میتونید لینک زیر رو چک کنید:https://github.com/neovim/neovim/issues/16339
یه بحثی هم راجب عملکرد و بهینه شدن این روش تو گروه شد آخرش به این نتیجه رسیدیم
.
vim.api.nvim_create_autocmd({ "BufReadPost" }, {
pattern = { "*" },
callback = function()
vim.api.nvim_exec('silent! normal! g`"zv', false)
end,
})
روش دوم ایده پاکروح بود.
روش اول دلاتو
(پست ادیت شد)
🔅@LinFAQ
🔅@LinAcademy
GitHub
defaults: restore cursor position when opening a file · Issue #16339 · neovim/neovim
Feature already in Vim? Yes, Vim 7.4.2111 Feature description What it says on the tin. Vim uses an autocommand in defaults.vim for this: https://github.com/vim/vim/blob/728104da6cd561b8cb2c7142769f...
👍1
#داستان_های_FOSS
دستهبندی: #داستان #آموزشی
این قسمت نحوه آشنا شدن دلاتو با
#neovim
پارت 1:
سوییچ به ویم ):
این سری قراره یکم متفاوت باشه
و قضیه راجب وقتی هست که اومدم سراغ (نئو)ویم:
تا این که سراغ vscode رفتم رو میرم جلو، یعنی میرم زمانی که از netbeans به eclipse به intellij به vscode سوییچ کردم (دلیل سوییچم به vscode ساپورت از چندین زبان و سرعت بیشترش نسبت به intellij بود).
بعد از اون اومدم لینوکس، بعد وارد گروه لین اسک و لین چت شدم.
این تایمی که میگم manjaro xfce داشتم با vscode.
همه چیز با vscode اوکی بود، دیدم یه سری از دوستان یه ادیتور دارن که ظاهرش خیلی ساده هست و عجیب میزد برام (اون موقع کانفیگ های آماده ای مثل lunarvim یا اصلا init.lua و... نبود و ظاهر پلاگین ها خیلی ساده تر و ابتدایی تر بود)، میپرسیدم "چی هست؟" و میگفتن "vim".
خب از یه طرف کنجکاو شده بودم و از یه طرف فکر میکردم ممکنه ویم امکاناتی که میخوام رو نداشته باشه یا...
مرتب توی گروه نظر سنجی میذاشتم و ادیتور هارو میپرسیدم، ظاهری که ویم
داشت باعث میشد به این که برام مناسب باشه شک کنم، از طرفی یه سری از دوستان ازش استفاده میکردن و واقعا راجبش کنجکاو بودم.
طی یه سری سوال پرسش ها یه کانفیگ آماده (تنها کانفیگ آماده محبوب اون موقع بود فکر کنم) spacevim رو پیدا کردم و طبق مراحل پیش رفتم و روی توزیعم ردیفش کردم، یه فایل رو باهاش باز کردم و دیدم حتی نمیتونم درست تایپ کنم
ترمینال رو بستم و کلا بیخیالش شدم.
به مرور راجب mode ها از دوستان سوال کردم و یه چیزایی فهمیدم
اما بازم سراغ ویم نرفتم.
حدود 6 ماه بعد سوییچ به لینوکس سعی کردم distro hop کنم، اما آخرش دست از پا دراز تر برگشتم manjaro xfce
دیدم راحت ترین ابزاری که اینجا میشه باز کرد ترمیناله (super enter) که یه جورایی عادت ایجاد میکنه که ناخواسته مرتب ترمینال باز کنی، همین باعث شد بیشتر راجب ترمینال و ابزار های تحت ترمینال و در نتیجه vim فکر کنم، مخصوصا وقتی وارد مسیری میشدم و میخواستم فایلی رو برای ویرایش باز کنم (مخصوصا کانفیگ awesome) و vscode برای این کار واقعا رو مخ بود
در نتیجه کم کم برای ویرایش فایل ها به خصوص کانفیگ awesome شروع کردم به استفاده از ویم با کانفیگ دیفالتش...
🔅@LinAsk
🔅@LinAcademy
دستهبندی: #داستان #آموزشی
این قسمت نحوه آشنا شدن دلاتو با
#neovim
پارت 1:
سوییچ به ویم ):
این سری قراره یکم متفاوت باشه
(حدود 2 هفته ای هست که پدرم از دنیا رفته و وقت نکردم برم پشت سیستم و خب دارم یه چیزی مینویسم که کم کم برگردم سراغ نکات)
و قضیه راجب وقتی هست که اومدم سراغ (نئو)ویم:
تا این که سراغ vscode رفتم رو میرم جلو، یعنی میرم زمانی که از netbeans به eclipse به intellij به vscode سوییچ کردم (دلیل سوییچم به vscode ساپورت از چندین زبان و سرعت بیشترش نسبت به intellij بود).
بعد از اون اومدم لینوکس، بعد وارد گروه لین اسک و لین چت شدم.
این تایمی که میگم manjaro xfce داشتم با vscode.
همه چیز با vscode اوکی بود، دیدم یه سری از دوستان یه ادیتور دارن که ظاهرش خیلی ساده هست و عجیب میزد برام (اون موقع کانفیگ های آماده ای مثل lunarvim یا اصلا init.lua و... نبود و ظاهر پلاگین ها خیلی ساده تر و ابتدایی تر بود)، میپرسیدم "چی هست؟" و میگفتن "vim".
خب از یه طرف کنجکاو شده بودم و از یه طرف فکر میکردم ممکنه ویم امکاناتی که میخوام رو نداشته باشه یا...
(البته بگم این موقعی که میگم و حتی الان خیلی توی برنامه نویسی شاخ نبودم... کارم حتی الان هم با ابزاری به سادگی notepad راه میفته)
مرتب توی گروه نظر سنجی میذاشتم و ادیتور هارو میپرسیدم، ظاهری که ویم
(اون موقع رو نمیشه با الان در مورد ظاهر مقایسه کرد)
داشت باعث میشد به این که برام مناسب باشه شک کنم، از طرفی یه سری از دوستان ازش استفاده میکردن و واقعا راجبش کنجکاو بودم.
طی یه سری سوال پرسش ها یه کانفیگ آماده (تنها کانفیگ آماده محبوب اون موقع بود فکر کنم) spacevim رو پیدا کردم و طبق مراحل پیش رفتم و روی توزیعم ردیفش کردم، یه فایل رو باهاش باز کردم و دیدم حتی نمیتونم درست تایپ کنم
(قضیه normal mode و...)
ترمینال رو بستم و کلا بیخیالش شدم.
به مرور راجب mode ها از دوستان سوال کردم و یه چیزایی فهمیدم
(و سوییچ بین
hjkl
insert mode
و
normal mode
و نحوه سیو یا خروج از ادیتور)
اما بازم سراغ ویم نرفتم.
حدود 6 ماه بعد سوییچ به لینوکس سعی کردم distro hop کنم، اما آخرش دست از پا دراز تر برگشتم manjaro xfce
(میخواستم kde بزنم که قابلیت شخصی سازیش بالاست اما خب با سیستمم خیلی سازگاری نداشت. گفتم چون نتونستم سراغ قابل کانفیگ ترین دسکتاپ برم، میرم سراغ قابل کانفیگ ترین ویندو منیجر: awesome).
دیدم راحت ترین ابزاری که اینجا میشه باز کرد ترمیناله (super enter) که یه جورایی عادت ایجاد میکنه که ناخواسته مرتب ترمینال باز کنی، همین باعث شد بیشتر راجب ترمینال و ابزار های تحت ترمینال و در نتیجه vim فکر کنم، مخصوصا وقتی وارد مسیری میشدم و میخواستم فایلی رو برای ویرایش باز کنم (مخصوصا کانفیگ awesome) و vscode برای این کار واقعا رو مخ بود
(
loading time
و این که باید دستی مسیر رو عوض میکردم و این که اصلا رابطش و منو ها و... به ویندو منیجر نمیومد و...).
در نتیجه کم کم برای ویرایش فایل ها به خصوص کانفیگ awesome شروع کردم به استفاده از ویم با کانفیگ دیفالتش...
🔅@LinAsk
🔅@LinAcademy
❤2
LinFAQ
این قسمت نحوه آشنا شدن دلاتو با
#neovim
پارت 1:
#neovim
پارت 1:
#داستان_های_FOSS
دستهبندی: #داستان #آموزشی
پارت 2:
راجب آشناییم با (نئو)ویم و یادگیری نحوه کار با (نئو)ویم):
خب تو پارت 1 به اینجا رسیدیم که کم کم اومدم سراغ استفاده از ویم، ولی خیلی محدود بود و همونطور که قبل تر گفتم در حد hjkl و i/esc و wq میدونستم، ولی همین برای ویرایش متن کافی بود، هر وقت کی بایندی نیاز داشتم مثل undo یا redo میرفتم توی اینترنت سرچش میکردم، اما هنوز سراغ کانفیگش نیومدم، البته که یادگیریش اثر منفی ای نداشت، به 2 دلیل:
1- اون موقع فقط برای ویرایش فایل های کانفیگ ازش استفاده میکردم پس فیچر خاصی نیاز نداشتم و
2- کی بایند ها رو به مرور و با سرچ هر وقت که نیاز میشد یاد میگرفتم، در نتیجه زمان خاصی نمیبرد.
کم کم حس کردم که "اوکی، راحت میتونم از ویم استفاده کنم و با کی بایند هاش در حد نیاز راحت هستم، حالا میخوام برم سراغ کانفیگ کردنش"،
تقریبا همون موقع ها هومان (نمیدونم میشناسینش یا نه) راجب کانفیگ (نئو)ویم یه ویدئویی ردیف کرد و...
علاوه بر این، ویدئو how to configure vim like vscode از ben awad و ویدئو های chris@machine راجب کانفیگ (نئو)ویم خیلی محبوب شده بودن، با دیدن این منابع و یه سری سوال پرسش راجب فرق ویم و نئوویم، از ویم به نئوویم سوییچ کردم و شروع کردم به کانفیگش.
البته که حتی اون موقع هم هنوز کانفیگ آماده درست و حسابی ای نبود و منم تحت تاثیر اون ویدئو هایی که دیدم تا میشد پلاگین اضافه کردم و در نتیجه هم loading time ش در حد vscode بالا رفت و هم یه سری مسائل (مثل indent) رو هر کاری میکردم درست عمل نمیکرد
این موقع هم هنوز builtin lsp و حتی فکر کنم init.lua نیومده بودن.
یه مدت کانفیگم رو بررسی و تست کردم و هر جوری سعی کردم نتونستم با سرعت load و پیروی نکردن ادیتور از تنظیمات indent ام کنار بیام، در نتیجه کل کانفیگ رو فرستادم روی گیت هاب و شروع کردم به کانفیگ نئوویم از صفر بدون پلاگین...
🔅@LinAsk
🔅@LinAcademy
دستهبندی: #داستان #آموزشی
پارت 2:
راجب آشناییم با (نئو)ویم و یادگیری نحوه کار با (نئو)ویم):
خب تو پارت 1 به اینجا رسیدیم که کم کم اومدم سراغ استفاده از ویم، ولی خیلی محدود بود و همونطور که قبل تر گفتم در حد hjkl و i/esc و wq میدونستم، ولی همین برای ویرایش متن کافی بود، هر وقت کی بایندی نیاز داشتم مثل undo یا redo میرفتم توی اینترنت سرچش میکردم، اما هنوز سراغ کانفیگش نیومدم، البته که یادگیریش اثر منفی ای نداشت، به 2 دلیل:
1- اون موقع فقط برای ویرایش فایل های کانفیگ ازش استفاده میکردم پس فیچر خاصی نیاز نداشتم و
2- کی بایند ها رو به مرور و با سرچ هر وقت که نیاز میشد یاد میگرفتم، در نتیجه زمان خاصی نمیبرد.
کم کم حس کردم که "اوکی، راحت میتونم از ویم استفاده کنم و با کی بایند هاش در حد نیاز راحت هستم، حالا میخوام برم سراغ کانفیگ کردنش"،
تقریبا همون موقع ها هومان (نمیدونم میشناسینش یا نه) راجب کانفیگ (نئو)ویم یه ویدئویی ردیف کرد و...
(اون موقع نه init.lua بود و حتی کانفیگ با لوا هم رایج نبود، در نتیجه خیلی ویم و نئوویم از نظر کانفیگ فرق خاصی نداشتن و تقریبا کل کانفیگ یکیشون با کپی پیست رو اون یکی جواب بود)
علاوه بر این، ویدئو how to configure vim like vscode از ben awad و ویدئو های chris@machine راجب کانفیگ (نئو)ویم خیلی محبوب شده بودن، با دیدن این منابع و یه سری سوال پرسش راجب فرق ویم و نئوویم، از ویم به نئوویم سوییچ کردم و شروع کردم به کانفیگش.
البته که حتی اون موقع هم هنوز کانفیگ آماده درست و حسابی ای نبود و منم تحت تاثیر اون ویدئو هایی که دیدم تا میشد پلاگین اضافه کردم و در نتیجه هم loading time ش در حد vscode بالا رفت و هم یه سری مسائل (مثل indent) رو هر کاری میکردم درست عمل نمیکرد
(اما خب به لطف همون COC (منظورم clash of clans نیست P:) تونستم راحت چند تا پروژه مزخرف از تر مزخرف برای درس های دانشگاهم با cpp بزنم که خب یعنی مفید بود).
این موقع هم هنوز builtin lsp و حتی فکر کنم init.lua نیومده بودن.
یه مدت کانفیگم رو بررسی و تست کردم و هر جوری سعی کردم نتونستم با سرعت load و پیروی نکردن ادیتور از تنظیمات indent ام کنار بیام، در نتیجه کل کانفیگ رو فرستادم روی گیت هاب و شروع کردم به کانفیگ نئوویم از صفر بدون پلاگین...
🔅@LinAsk
🔅@LinAcademy
❤1