#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی #آموزشی #emacs #melpa
اضافه کردن melpa
و بروز کردن مخازن داخل ایمکس:
از کد زیر استفاده میکنید
اگه اون لاین unless package-archive-contents نباشه هر سری موقع لود ایمکس مخازن رو رفرش میکنه و زمان لود شدیدا بالا میره.
Source
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #کاربردی #آموزشی #emacs #melpa
اضافه کردن melpa
(Milkypostman’s Emacs Lisp Package Archive)
و بروز کردن مخازن داخل ایمکس:
از کد زیر استفاده میکنید
(داخل init.el قرارش میدید):
(require 'package)
(add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/"))
(package-initialize)
(unless package-archive-contents
(package-refresh-contents))
اگه اون لاین unless package-archive-contents نباشه هر سری موقع لود ایمکس مخازن رو رفرش میکنه و زمان لود شدیدا بالا میره.
Source
🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی #emacs #lisp
راجب لود چندین فایل به صورت همزمان داخل lisp:
یه فایل داشتم که محتواش به این شکل بود، یعنی داشت سعی میکرد چندین فایل رو لود کنه و هر فایل داخل بلوک مخصوص به خودش بود با کلی کد تکراری.
یکی از دوستان پیشنهاد اصلاحش رو داد، منم از chatpgt سوال کردم و جواب این شد:
و خیلی هم عالی کار کرد.
مثالش که کد خودم باشه میشه این
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی #emacs #lisp
راجب لود چندین فایل به صورت همزمان داخل lisp:
یه فایل داشتم که محتواش به این شکل بود، یعنی داشت سعی میکرد چندین فایل رو لود کنه و هر فایل داخل بلوک مخصوص به خودش بود با کلی کد تکراری.
یکی از دوستان پیشنهاد اصلاحش رو داد، منم از chatpgt سوال کردم و جواب این شد:
(defun load-multiple-files (file-list)
(dolist (file file-list)
(load (expand-file-name file))))
(let ((files-to-load '("file1.el" "file2.el" "file3.el")))
(load-multiple-files files-to-load))
و خیلی هم عالی کار کرد.
مثالش که کد خودم باشه میشه این
(جهت جلوگیری از شلوغی و وضوح بیشتر لینکش رو میدم):
🔅@LinFAQ
🔅@LinAcademy
Codeberg.org
simplify init.el · 5b611952f4
nEwRA
#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی #آموزشی #emacs #lsp
ردیف کردن lsp داخل emacs
کافیه دستور زیر رو به کانفیگتون اضافه کنید
اگه lsp رو تشخیص نداد باید دستی بهش مسیر بدید.
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #کاربردی #آموزشی #emacs #lsp
ردیف کردن lsp داخل emacs
language server protocol
کافیه دستور زیر رو به کانفیگتون اضافه کنید
(نمونه برای python هست، اسم مد رو بسته به زبان/ زبان ها عوض کنید):
(use-package eglotطبیعتا باید lsp برای اون زبان نصب باشه
:ensure nil
:hook
(python-mode . eglot-ensure))
(مثلا pyright رو از مخازن رسمی آرچ گرفتم).
اگه lsp رو تشخیص نداد باید دستی بهش مسیر بدید.
🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی #آموزشی #eshell #emacs #alias
نحوه اضافه کردن alias به eshell ایمکس:
کافیه داخل eshell بنویسید:
خودش alias رو به فایل alias داخل مسیر زیر اضافه میکنه:
Source
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #کاربردی #آموزشی #eshell #emacs #alias
نحوه اضافه کردن alias به eshell ایمکس:
کافیه داخل eshell بنویسید:
eshell (emacs shell)
alias command1 'command2'که هر دفعه command1 رو بزنید command2 اجرا میشه.
خودش alias رو به فایل alias داخل مسیر زیر اضافه میکنه:
~/.emacs.d/eshell/البته دقت کنید که باید آرگومان ها رو دقیق معلوم کنید، مثال برای باز کردن فایل:
alias vim 'find-file $1'وگرنه آرگومان رو قبول نمیکنه
(تو اینجا اسم فایل هدف رو).
Source
🔅@LinFAQ
🔅@LinAcademy
www.gnu.org
Aliases (Eshell: The Emacs Shell)
Next: Remote Access, Previous: Variables, Up: Commands [Contents][Index]
#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی
#emacs #corfu
اضافه کردن auto completion به ایمکس:
کافیه پکیج corfu رو نصب کنید، مراحل کامل کانفیگ و نصب اینجا گفته شده و چون یکم دستورات طولانی هستن اینجا تایپ نمیکنم که شلوغ نشه... و خب همش کپی پیسته.
راجب اون popup menu ای که داره توضیحات نشون میده، برای فعال کردنش
رو به بخش init ااون use-package اضافه کنید، اگه موفق نشیدید یا سوالی داشتید راحت باشید و بپرسید.
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی
#emacs #corfu
اضافه کردن auto completion به ایمکس:
کافیه پکیج corfu رو نصب کنید، مراحل کامل کانفیگ و نصب اینجا گفته شده و چون یکم دستورات طولانی هستن اینجا تایپ نمیکنم که شلوغ نشه... و خب همش کپی پیسته.
راجب اون popup menu ای که داره توضیحات نشون میده، برای فعال کردنش
(corfu-popupinfo-mode)
رو به بخش init ااون use-package اضافه کنید، اگه موفق نشیدید یا سوالی داشتید راحت باشید و بپرسید.
🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با دلاتو
دستهبندی: #emacs #debug #آموزشی #کاربردی
برای دیباگ کردن کد پایتون داخل ایمکس با pdb
اول alt x (در واقع M-x) رو میزنید.
بعد pdb رو تایپ میکنید و اینتر میزنید.
بعد دستور رو
وارد میکنید، مثال:
الان وارد دیباگر شدید، بقیه مراحل مشابه این ویدئو پیش میره:
Command-Line Python Debugging with pdb
دقت کنید محتوای ویدئو داخل هر جایی قابل انجامه و به ادیتور/ ide وابسته نیست.
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #emacs #debug #آموزشی #کاربردی
برای دیباگ کردن کد پایتون داخل ایمکس با pdb
(بدون نیاز به پکیج اضافه یا...):
اول alt x (در واقع M-x) رو میزنید.
بعد pdb رو تایپ میکنید و اینتر میزنید.
بعد دستور رو
(خودش python -m pdb رو اول داره، اسم فایل رو به انتهاش اضافه کنید)
وارد میکنید، مثال:
python -m pdb test.py
الان وارد دیباگر شدید، بقیه مراحل مشابه این ویدئو پیش میره:
Command-Line Python Debugging with pdb
دقت کنید محتوای ویدئو داخل هر جایی قابل انجامه و به ادیتور/ ide وابسته نیست.
🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی #emacs #eshell
اجرای دستورات شل به صورت async داخل ایمکس:
کافیه M-x رو بزنید و بعد async-shell-command رو انتخاب کنید و بعد از اینتر زدن دستورتون رو وارد کنید.
اگه project-async-shell-command رو انتخاب کنید دستور داخل root پروژه اجرا میشه
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی #emacs #eshell
اجرای دستورات شل به صورت async داخل ایمکس:
کافیه M-x رو بزنید و بعد async-shell-command رو انتخاب کنید و بعد از اینتر زدن دستورتون رو وارد کنید.
اگه project-async-shell-command رو انتخاب کنید دستور داخل root پروژه اجرا میشه
(که هنوز نمیدونم چجوری تشخیص میده و باید بیشتر تحقیق کنم و پیش برم).
🔅@LinFAQ
🔅@LinAcademy
👍1
#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی #آموزشی #emacs #treesitter
ردیف کردن tree-sitter داخل ایمکس:
گام اول باید require ش کنید.
گام دوم لیست کردن گرامر هاست.
گام سوم نصبشونه.
گام چهارم باید به major mode ها hook شون کنید که جایگزین بشن.
نمونه: خط های 443 و 444 که کامنتشون کردم مربوط به مرحله سوم یعنی نصب هست و برای این کامنت هستن که با هر بار اجرای ایمکس از نو clone نشه و...
بعد اگه eglot استفاده میکنید یا هر چیزی هست که به major mode اولیه hook شده، باید به این مد هم hook بشه وگرنه اجرا نمیشه، نمونه.
منبع جهت توضیح کامل:
لیست گرامر ها:
اگه سوالی هم داشتید
راحت باشید و بپرسید.
در انتها اگه این مطلب براتون مفید بود و دلتون خواست، لطفا برای شادی روح یحیی تجری فرزند حسین یه فاتحه بخونید.
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #کاربردی #آموزشی #emacs #treesitter
ردیف کردن tree-sitter داخل ایمکس:
گام اول باید require ش کنید.
گام دوم لیست کردن گرامر هاست.
گام سوم نصبشونه.
گام چهارم باید به major mode ها hook شون کنید که جایگزین بشن.
نمونه: خط های 443 و 444 که کامنتشون کردم مربوط به مرحله سوم یعنی نصب هست و برای این کامنت هستن که با هر بار اجرای ایمکس از نو clone نشه و...
بعد اگه eglot استفاده میکنید یا هر چیزی هست که به major mode اولیه hook شده، باید به این مد هم hook بشه وگرنه اجرا نمیشه، نمونه.
منبع جهت توضیح کامل:
لیست گرامر ها:
میدونم توضیحاتم کم بود ولی دلیل این بود که منبع گفته شده، به صورت کامل توضیح داده و توضیح قضیه طولانی میشد برای همین خلاصه گفتم
اگه سوالی هم داشتید
(که با وجود توضیح کمم احتمالا پیش بیاد)
راحت باشید و بپرسید.
در انتها اگه این مطلب براتون مفید بود و دلتون خواست، لطفا برای شادی روح یحیی تجری فرزند حسین یه فاتحه بخونید.
🔅@LinFAQ
🔅@LinAcademy
Codeberg.org
add treesitter · 63f580eed1
nEwRA
Forwarded from LinAcademy (𝙰.𝚁.𝚂 (𝙳𝙽𝙳))
🎉🎉🎉🎉🎉🎉🎉🎉🎉
ز کوی یار میآید نسیم باد نوروزی
از این باد ار مدد خواهی چراغ دل برافروزی
آغاز سال جدید رو به تمامی شما دوستداران نرم افزار آزاد تبریک میگم.
امیدوارم که سالی پر از موفقیت، سلامتی، آرامش و خوشحالی (و همینطور پر از کامیت های مفید) پیش رو داشته باشید.
🎉🎉🎉🎉🎉🎉🎉🎉🎉
🔅@LinAcademy
ز کوی یار میآید نسیم باد نوروزی
از این باد ار مدد خواهی چراغ دل برافروزی
آغاز سال جدید رو به تمامی شما دوستداران نرم افزار آزاد تبریک میگم.
امیدوارم که سالی پر از موفقیت، سلامتی، آرامش و خوشحالی (و همینطور پر از کامیت های مفید) پیش رو داشته باشید.
🎉🎉🎉🎉🎉🎉🎉🎉🎉
🔅@LinAcademy
#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی #آموزشی #emacs
نمایش trailing space داخل ایمکس:
اینم یه لینک دیگه
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #کاربردی #آموزشی #emacs
نمایش trailing space داخل ایمکس:
(setq-default show-trailing-whitespace t)Source
اینم یه لینک دیگه
🔅@LinFAQ
🔅@LinAcademy
www.gnu.org
Useless Whitespace (GNU Emacs Manual)
Next: Selective Display, Previous: Displaying Boundaries, Up: Controlling the Display [Contents][Index]
#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی #آموزشی #emacs #buffer
جا به جا کردن بافر ها بین split ها داخل ایمکس:
کافیه از پکیج buffer-move استفاده کنید:
Source
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #کاربردی #آموزشی #emacs #buffer
جا به جا کردن بافر ها بین split ها داخل ایمکس:
کافیه از پکیج buffer-move استفاده کنید:
(use-package buffer-move)بعد با دستورات buf-move-up و buf-move-down و buf-move-left و buf-move-right میشه بافر ها رو بین اسپلیت ها عوض کرد
(که طبیعتا براشون کی بایند ردیف میکنید).
Source
🔅@LinFAQ
🔅@LinAcademy
GitHub
GitHub - lukhas/buffer-move
Contribute to lukhas/buffer-move development by creating an account on GitHub.
دوستان به کانال اصلی لین آکادمی بپیوندید، همه پست های مجموعه کانال های لین آکادمی رو می تونید از کانال اصلی دنبال کنید.
همچنین لیست کاملی از کانال های مجموعه لین آکادمی در کانال اصلی پین شده.
🔅@LinAcademy
همچنین لیست کاملی از کانال های مجموعه لین آکادمی در کانال اصلی پین شده.
🔅@LinAcademy
👍1
#روزی_یک_نکته با رضا
#اموزشی #کاربردی
#kvantum #qt
شده تا حالا برای مثال از kde سوییچ کنی به یه wm یا de
تم های اپ های qt بهم بریزه ؟
خب دیگه این مشکل نداری نگران نباش فقط کافیه
این دو پکیج نصب کنی
خب نصب کردیم بعدش چیکار کنیم؟🤔
این
مسیر رو پیدا میکنین و فایل رو ادیت میکنیم
و این دو لاین زیر رو اضافه میکنیم
خب حالا یکبار دسکتاپ لاگ اوت میکنیم
بعد میریم سراغ qt6ct تنظیمات انجام میدیم
و بعد داخل kvantum تم رو ست میکنیم و تمام قابل استفاده است.
@LinAcademy @LinFAQ
#اموزشی #کاربردی
#kvantum #qt
خیلی وقت بود چیزی نگفته بودم اینجا تا به مشکل خوردم
شده تا حالا برای مثال از kde سوییچ کنی به یه wm یا de
تم های اپ های qt بهم بریزه ؟
خب دیگه این مشکل نداری نگران نباش فقط کافیه
این دو پکیج نصب کنی
qt6ct
kvantum
خب نصب کردیم بعدش چیکار کنیم؟🤔
این
/etc/enviroment
مسیر رو پیدا میکنین و فایل رو ادیت میکنیم
و این دو لاین زیر رو اضافه میکنیم
QT_QPA_PLATFORMTHEME=qt6ct
QT_STYLE_OVERRIDE=kvantum
خب حالا یکبار دسکتاپ لاگ اوت میکنیم
بعد میریم سراغ qt6ct تنظیمات انجام میدیم
و بعد داخل kvantum تم رو ست میکنیم و تمام قابل استفاده است.
تشکر از سهراب بابت کمک
@LinAcademy @LinFAQ
🔥1
#روزی_یک_نکته با رضا
چطور شل سیستم رو عوض کنیم؟
خب یه مدتی نبودیم بریم سراغ نکته
تو لینوکس، شل (shell) مثل پل ارتباطی بین کاربر و سیستم عمل میکنه.
شل پیشفرض در بیشتر لینوکسها، Bash
هست ولی میتونیم شل رو به گزینههای دیگه مثل
تغییر بدیم.
برای تغییر شل:
1. اول باید ببینیم چه شلهایی تو سیستم داریم. تو ترمینال این دستور رو بزنیم:
2. حالا برای اینکه ببینیم الان از کدوم شل رو استفاده میکنیم ، باید این دستور رو بزنیم:
3. حالا اگه میخوایم شل رو عوض کنیم، این دستور رو بزنیم:
4. بعد از اجرای دستور، باید از ترمینال خارج بشیم و دوباره وارد سیستم بشیم تا تغییرات اعمال بشه.
5. برای برگشتن به Bash، کافیه همین مراحل رو تکرار کنیم و به جای
رو وارد کنیم.
با این روش میتونیم شل دلخواهمون رو انتخاب و محیط کاری خودمون رو سفارشیسازی کنیم.
@LinAcademy @LinFAQ
چطور شل سیستم رو عوض کنیم؟
#اموزشی #کاربردی
#Linux #Shell #Customization
خب یه مدتی نبودیم بریم سراغ نکته
تو لینوکس، شل (shell) مثل پل ارتباطی بین کاربر و سیستم عمل میکنه.
شل پیشفرض در بیشتر لینوکسها، Bash
(Bourne-Again SHell)
هست ولی میتونیم شل رو به گزینههای دیگه مثل
Zsh
Fish
Tcsh
تغییر بدیم.
برای تغییر شل:
1. اول باید ببینیم چه شلهایی تو سیستم داریم. تو ترمینال این دستور رو بزنیم:
cat /etc/shells
این دستور لیست همه شلهای موجود تو سیستم رو نشون میده.
2. حالا برای اینکه ببینیم الان از کدوم شل رو استفاده میکنیم ، باید این دستور رو بزنیم:
echo $SHELL
این دستور شل فعلی رو نشون میده.
3. حالا اگه میخوایم شل رو عوض کنیم، این دستور رو بزنیم:
chsh -s /bin/zsh
این دستور شل رو به Zsh تغییر میده.
4. بعد از اجرای دستور، باید از ترمینال خارج بشیم و دوباره وارد سیستم بشیم تا تغییرات اعمال بشه.
5. برای برگشتن به Bash، کافیه همین مراحل رو تکرار کنیم و به جای
/bin/zsh
/bin/bash
رو وارد کنیم.
با این روش میتونیم شل دلخواهمون رو انتخاب و محیط کاری خودمون رو سفارشیسازی کنیم.
@LinAcademy @LinFAQ
LinFAQ
Photo
#روزی_یک_نکته با A.R.S
دستهبندی:#کاربردی #آموزشی #xargs
خب بریم یکم با دستور xargs که یکی از باحال ترین دستورات خط فرمانی برای استفاده از دستوراتی که اجازه pipe کردن بهتون نمیدن آشنا بشیم.
خب اصلأ Xargs مخفف چیه؟🤔
نحوه کار باهاش
مثال اول: تو دستور پایین میبینید که ls قابلیت pipe کردن نداره. :(
میایم و پاس میدیم به xargs ،
میبینیم که یه فلگ I هست که مشخص میکنه که جایگشتمون چی باشه.
جاش هر چیزی میتونیم بزاریم ولی خب این مرسوم تره.
دستور xargs میاد و دستور جلوش رو برای هر خط از خروجی ls ران میکنه.
البته ما میدونیم که خود ls هم میتونه حرکتی شبیه این رو بزنه.
ولی خب جاهایی هست که چنین چیزی رو نداریم.
مثلا تو دایرکتوری میخواید یه فایل از 1 تا 1000 درست کنید.
یا حتی تغییر نام بدید.
یا حتی فایل ها رو دیلیت کنید.
خود find هم قابلیتی داره که اجازه اجرای دستوری برای هر کدوم از نتایج جستجو رو داره ولی به سرعت xargs نمیرسه.
اینم یه ویدیو کامل تر
@LinFAQ | @LinAcademy
دستهبندی:#کاربردی #آموزشی #xargs
خب بریم یکم با دستور xargs که یکی از باحال ترین دستورات خط فرمانی برای استفاده از دستوراتی که اجازه pipe کردن بهتون نمیدن آشنا بشیم.
خب اصلأ Xargs مخفف چیه؟🤔
(extended arguments)
نحوه کار باهاش
command1 | xargs command2
مثال اول: تو دستور پایین میبینید که ls قابلیت pipe کردن نداره. :(
ls | ls
میایم و پاس میدیم به xargs ،
میبینیم که یه فلگ I هست که مشخص میکنه که جایگشتمون چی باشه.
جاش هر چیزی میتونیم بزاریم ولی خب این مرسوم تره.
دستور xargs میاد و دستور جلوش رو برای هر خط از خروجی ls ران میکنه.
ls | xargs -I {} ls "/home/$USER/{}"
البته ما میدونیم که خود ls هم میتونه حرکتی شبیه این رو بزنه.
ls *
ولی خب جاهایی هست که چنین چیزی رو نداریم.
مثلا تو دایرکتوری میخواید یه فایل از 1 تا 1000 درست کنید.
seq 1000 | xargs -I {} touch {}.txt
یا حتی تغییر نام بدید.
ls | cut -d. -f1 | xargs -I {} mv {}.txt {}.text
یا حتی فایل ها رو دیلیت کنید.
find . -type f -name "*.text" | xargs rm
خود find هم قابلیتی داره که اجازه اجرای دستوری برای هر کدوم از نتایج جستجو رو داره ولی به سرعت xargs نمیرسه.
find . -type f -name "*.txt" -exec rm {} \;
اینم یه ویدیو کامل تر
Source
@LinFAQ | @LinAcademy
🔥5👍1
#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی #أموزشی
#emacs #vterm
برای بدست آوردن یه ترمینال با امکانات کامل داخل emacs باید چیکار کنیم؟🤔
فقط کافیه از vterm استفاده کنید:
برای پنهان کردن modeline داخل vterm هم از دستور زیر استفاده کنید:
@LinFAQ | @LinAcademy
دستهبندی: #کاربردی #أموزشی
#emacs #vterm
برای بدست آوردن یه ترمینال با امکانات کامل داخل emacs باید چیکار کنیم؟🤔
فقط کافیه از vterm استفاده کنید:
(use-package vterm
ensure t)
برای پنهان کردن modeline داخل vterm هم از دستور زیر استفاده کنید:
(add-hook 'vterm-mode-hook
(lambda () (setq mode-line-format nil)))
ضمنا نیازه که cmake هم روی سیستمتون نصب باشه.
@LinFAQ | @LinAcademy
#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی
#shell #prompt
تا حالا شده براتون سوال بشه فریمورک های شل مثل
چجوری تشخیص میدن وضعیت کامند قبلی رو؟
یا چجوری درک میکنن از وضعیت git پروژه هاتون و داخل شل نشونتون میدن؟
خب کار سختی نیست فقط به این پرامت ها نیاز داری
برای git این فایل رو source میکنیم
بعد بلوک زیر رو به پرامپت شل اضافه میکنیم
و برای نشون دادن وضعیت کامند قبلی طبق عکس نیاز به این دارید
اینم ترکیب جفتشون با کمی رنگ
@LinAcademy | @LinFAQ
دستهبندی: #آموزشی #کاربردی
#shell #prompt
تا حالا شده براتون سوال بشه فریمورک های شل مثل
oh my zsh / oh my bash
چجوری تشخیص میدن وضعیت کامند قبلی رو؟
یا چجوری درک میکنن از وضعیت git پروژه هاتون و داخل شل نشونتون میدن؟
خب کار سختی نیست فقط به این پرامت ها نیاز داری
برای git این فایل رو source میکنیم
source /usr/share/git/completion/git-prompt.sh
بعد بلوک زیر رو به پرامپت شل اضافه میکنیم
$(__git_ps1 " (%s)")
و برای نشون دادن وضعیت کامند قبلی طبق عکس نیاز به این دارید
[$(if [[ $? -eq 0 ]]; then echo -e "✔️"; else echo -e "✖️"; fi)]
اینم ترکیب جفتشون با کمی رنگ
source /usr/share/git/completion/git-prompt.sh
PS1='\w\e[34m$(__git_ps1 " (%s)")\e[0m [$(if [[ $? -eq 0 ]]; then echo -e "\e[32m✔️\e[0m"; else echo -e "\e[31m✖️\e[0m"; fi)] \e[32m\$\e[0m '
source1
source2
@LinAcademy | @LinFAQ
❤1👍1
#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی
#emacs #vterm #shell
خب برای اینکه bash با vterm هماهنگ کنیم باید چیکار کنیم؟
اول داخل bashrc کد زیر رو اضافه میکنیم:
خب تموم شد حالا الان اگه داخل vterm از cd استفاده کنید، مسیر کل ایمکس تغییر میکنه
@LinFAQ | @LinAcademy
دستهبندی: #آموزشی #کاربردی
#emacs #vterm #shell
خب برای اینکه bash با vterm هماهنگ کنیم باید چیکار کنیم؟
(بر اساس bash میگم، خودتون با بقیه شل ها مچش کنید)
اول داخل bashrc کد زیر رو اضافه میکنیم:
if [[ "$INSIDE_EMACS" = 'vterm' ]] \
&& [[ -n ${EMACS_VTERM_PATH} ]] \
&& [[ -f ${EMACS_VTERM_PATH}/etc/emacs-vterm-bash.sh ]]; then
source ${EMACS_VTERM_PATH}/etc/emacs-vterm-bash.sh
fi
خب تموم شد حالا الان اگه داخل vterm از cd استفاده کنید، مسیر کل ایمکس تغییر میکنه
Source
@LinFAQ | @LinAcademy
❤1
#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی
#fzf #bash
خب بریم 5 تا فانکشن bash ردیف شده با fzf که به کار میاد ببینیم
این بخش رو به bashrc اضافه کنید تا با Ctrl r بتونید هیستوری بش رو ببینید یا...:
لیست فایل ها (از جمله فایل های پنهان به جز فایل های داخل .git)
ترکیب cd و fzf(از جمله دایرکتوری های پنهان به جز .git):
لیست فایل ها و باز کردنشون با fzf:
دستورات جهت حذف و نصب پکیج ها:
@LinAcademy | @LinFAQ
دستهبندی: #آموزشی #کاربردی
#fzf #bash
خب بریم 5 تا فانکشن bash ردیف شده با fzf که به کار میاد ببینیم
این بخش رو به bashrc اضافه کنید تا با Ctrl r بتونید هیستوری بش رو ببینید یا...:
eval "$(fzf --bash)"
لیست فایل ها (از جمله فایل های پنهان به جز فایل های داخل .git)
function ff() {
vim "$(fd --type f --hidden --exclude .git | fzf --preview 'cat {}' --select-1 --exit-0)"
}
ترکیب cd و fzf(از جمله دایرکتوری های پنهان به جز .git):
function fcd() {
cd "$(fd --type d --hidden --exclude .git | fzf --preview 'ls -la {}' --select-1 --exit-0)" || exit
}
لیست فایل ها و باز کردنشون با fzf:
open() {
xdg-open "$(fd --type f | fzf)"
}
دستورات جهت حذف و نصب پکیج ها:
( البته در pacman )
install() {
pacman -Slq | fzf --multi --preview 'pacman -Si {1}' | xargs -ro sudo pacman -S
}
uninstall() {
pacman -Qq | fzf --multi --preview 'pacman -Qi {1}' | xargs -ro sudo pacman -Rns
}
Source
@LinAcademy | @LinFAQ
❤1
Forwarded from LinAcademy
😁😁 دوباره یک سال دیگه رو در کنار هم بودیم 🤩🥳
سالی که گذشت سالی پر از ماجرا های عجیب و تغییرات توی دنیای تکنولوژی بود، گنوم ۴۸ و گیمپ ۳ و تغییر اینتل و قدرت گرفتن AMD، هوش مصنوعی های جدید توی چین و حتی ایردراپ های عجیب تلگرامی، ولی درکنار همه اینا یه چیزی هنوز باقی مونده و هست و امید دارم که تا همیشه ماندگار باشه و اونم شور و اشتیاقی هستش که برای پیداکردن دانش ها و تست کردن چیزای جدید داریم.
سال جدید رو به همه دوست داران آزادی 🕊و نرم افزار آزاد 🐧 تبریک میگم، باشه که امسال خوبی های بیشتری رو تجربه کنیم 🙂↔️🙂↕️ و بیشتر از هرساله دیگه ای از زندگی لذت ببریم✨
با تشکر تیم ادمین های جامعه لین آکادمی ❤️
به ما بپیوندید :
@LinAcademy
سالی که گذشت سالی پر از ماجرا های عجیب و تغییرات توی دنیای تکنولوژی بود، گنوم ۴۸ و گیمپ ۳ و تغییر اینتل و قدرت گرفتن AMD، هوش مصنوعی های جدید توی چین و حتی ایردراپ های عجیب تلگرامی، ولی درکنار همه اینا یه چیزی هنوز باقی مونده و هست و امید دارم که تا همیشه ماندگار باشه و اونم شور و اشتیاقی هستش که برای پیداکردن دانش ها و تست کردن چیزای جدید داریم.
سال جدید رو به همه دوست داران آزادی 🕊و نرم افزار آزاد 🐧 تبریک میگم، باشه که امسال خوبی های بیشتری رو تجربه کنیم 🙂↔️🙂↕️ و بیشتر از هرساله دیگه ای از زندگی لذت ببریم✨
با تشکر تیم ادمین های جامعه لین آکادمی ❤️
به ما بپیوندید :
@LinAcademy
❤1🔥1