#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی #emacs
قابلیت های پیش فرض ایمکس که برام جالب و مهم بودن و آشنایی باهاشون موقع تغییر ادیتور به ایمکس نسبتا واجبه:
- مورد اول org mode هست، میشه یه سری پکیج مثل org-modern نصبید که ظاهر بهتر بشه، اما حتی وجود خود org mode و گرفتن خروجی کد داخل هر فایل دیگه و... قابلیت مفیدیه.
- مورد بعد eshell هست، عملا بهتون یه شل میده که داخلش میتونید از فانکشن های ایمکس استفاده کنید، مثلا بیاید با find-file یه فایل رو داخل همون پنجره ایمکس باز کنید و...
- برا مدیر فایل هم dired رو داریم. ازش زیاد استفاده نکردم پس نظری نمیدم، اما قابلیت هاش رو نگاه بندازید جالبه.
- میشه داخل هر فایلی (تا جایی که میدونم هر بافری که میشه داخلش تایپ کرد) کد elisp نوشت و با C-x C-e اجراش کرد. مثلا وسط کد نوشتن جای این که M-x بزنید، داخل همون فایل فانکشن رو مینویسید و اجراش میکنید و بعد لاین رو حذف میکنید.
- کلید تب به صورت پیش فرض indent اون خط رو اصلاح میکنه.
- سیستم daemon client. هم زمان باز شدن پنجره رو صفر میکنه و هم میتونید باهاش از طریق شل یا ابزار های مختلف به ایمکس فرمان بدید.
ضمنا دیگه نیاز نیست نگران اشتباهی بستن پنجره باشید.
پیشنهاد میدم ویدئو زیر از protesilaos stavrou رو براش ببینید:
Basics of Emacs client (`emacsclient' program)
- تو نسخه جدید ایمکس، use-package به صورت builtin وجود داره که استفاده ازش کمک میکنه کانفیگ خیلی منظم تر بشه (علاوه بر بهبود سرعت لود اولیه و...).
- وجود major modes و prog-mode. تا حدی مشابه file type هستن، اما انگار درک خیلی بهتری دارن.
برای لیست زبان هایی که دیفالت major mode شون ردیفه قبلا لینک داده بودم.
- سیستم راهنماش. چند نکته راجبش هست:
1- راهنما های بخش های مختلف کی بایند هاشون جدا و دسته بندی شده.
2- وقتی راهنمای function یا variable یا... رو چک میکنید، داخل split ای که براش باز میشه فقط مطالب مربوط به همون function یا variable یا... رو میبینید.
3- داخل راهنما گفته شده که اون function یا... برای کدوم پکیج هست.
4- اگه درست یادم باشه مقدار پیشفرض و مقدار فعلی اون variable یا... رو میگه.
- گرافیکی بودنش و پشتیبانی عالی از ligatures و زبان فارسی و...
اینا قابلیت هایی بودن که تو چند ساعت اول کار با ایمکس به چشمم اومدن و هنوز قابلیت هایی مثل compiler و debugger رو نگاه هم ننداختم.
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی #emacs
قابلیت های پیش فرض ایمکس که برام جالب و مهم بودن و آشنایی باهاشون موقع تغییر ادیتور به ایمکس نسبتا واجبه:
- مورد اول org mode هست، میشه یه سری پکیج مثل org-modern نصبید که ظاهر بهتر بشه، اما حتی وجود خود org mode و گرفتن خروجی کد داخل هر فایل دیگه و... قابلیت مفیدیه.
- مورد بعد eshell هست، عملا بهتون یه شل میده که داخلش میتونید از فانکشن های ایمکس استفاده کنید، مثلا بیاید با find-file یه فایل رو داخل همون پنجره ایمکس باز کنید و...
- برا مدیر فایل هم dired رو داریم. ازش زیاد استفاده نکردم پس نظری نمیدم، اما قابلیت هاش رو نگاه بندازید جالبه.
- میشه داخل هر فایلی (تا جایی که میدونم هر بافری که میشه داخلش تایپ کرد) کد elisp نوشت و با C-x C-e اجراش کرد. مثلا وسط کد نوشتن جای این که M-x بزنید، داخل همون فایل فانکشن رو مینویسید و اجراش میکنید و بعد لاین رو حذف میکنید.
- کلید تب به صورت پیش فرض indent اون خط رو اصلاح میکنه.
- سیستم daemon client. هم زمان باز شدن پنجره رو صفر میکنه و هم میتونید باهاش از طریق شل یا ابزار های مختلف به ایمکس فرمان بدید.
ضمنا دیگه نیاز نیست نگران اشتباهی بستن پنجره باشید.
پیشنهاد میدم ویدئو زیر از protesilaos stavrou رو براش ببینید:
Basics of Emacs client (`emacsclient' program)
- تو نسخه جدید ایمکس، use-package به صورت builtin وجود داره که استفاده ازش کمک میکنه کانفیگ خیلی منظم تر بشه (علاوه بر بهبود سرعت لود اولیه و...).
- وجود major modes و prog-mode. تا حدی مشابه file type هستن، اما انگار درک خیلی بهتری دارن.
برای لیست زبان هایی که دیفالت major mode شون ردیفه قبلا لینک داده بودم.
- سیستم راهنماش. چند نکته راجبش هست:
1- راهنما های بخش های مختلف کی بایند هاشون جدا و دسته بندی شده.
مثلا C-h v برای variable ها.
2- وقتی راهنمای function یا variable یا... رو چک میکنید، داخل split ای که براش باز میشه فقط مطالب مربوط به همون function یا variable یا... رو میبینید.
3- داخل راهنما گفته شده که اون function یا... برای کدوم پکیج هست.
4- اگه درست یادم باشه مقدار پیشفرض و مقدار فعلی اون variable یا... رو میگه.
- گرافیکی بودنش و پشتیبانی عالی از ligatures و زبان فارسی و...
اینا قابلیت هایی بودن که تو چند ساعت اول کار با ایمکس به چشمم اومدن و هنوز قابلیت هایی مثل compiler و debugger رو نگاه هم ننداختم.
🔅@LinFAQ
🔅@LinAcademy
Wikipedia
Org-mode
Org Mode (also: org-mode; /ˈɔːrɡ moʊd/) is a mode for document editing, formatting, and organizing within the free software text editor GNU Emacs and its derivatives, designed for notes, planning, and authoring. The name is used to encompass plain text files…
#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی #آموزشی #emacs
(خیلی فواصل نکات نامنظم شده) راجب نمایش انواع داکیومنت داخل emacs:
- ایمکس یه DocView mode داره که میتونید باهاش انواع فرمت های داکیومنت رو ببینید.
- برای نمایش هم کاملا مشابه بقیه فایل ها عمل میکنید، مثلا
- برای نمایش pdf از ghostscript یا mupdf استفاده میکنه، پس طبیعتا حداقل یکیشون باید نصب باشه.
- اگه محتوای داکیومنت بروز شده بود، میتونید برای refresh کردن محتوایی که داره داخل DocView نمایش داده میشه از کلید g استفاده کنید.
- با
- اصولا برای هر فرمت داکیومنتی که خودش اشاره کرده جوابه، اما احتمالا چون هیچ آفیسی روی سیستم نصب نداشتم نتونستم ppt رو با ایمکس باز کنم.
- میتونید این رو هم جهت مطالعه بیشتر چک کنید.
- ضمنا pdf-tools رو هم نگاه بندازید خوبه، این stackoverflow رو هم میتونید براش چک کنید.
source
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #کاربردی #آموزشی #emacs
(خیلی فواصل نکات نامنظم شده) راجب نمایش انواع داکیومنت داخل emacs:
- ایمکس یه DocView mode داره که میتونید باهاش انواع فرمت های داکیومنت رو ببینید.
- برای نمایش هم کاملا مشابه بقیه فایل ها عمل میکنید، مثلا
find-file test.pdf از داخل ایمکس.- برای نمایش pdf از ghostscript یا mupdf استفاده میکنه، پس طبیعتا حداقل یکیشون باید نصب باشه.
- اگه محتوای داکیومنت بروز شده بود، میتونید برای refresh کردن محتوایی که داره داخل DocView نمایش داده میشه از کلید g استفاده کنید.
- با
C-c C-c میتونید بین نمایش فایل با DocView و تکست سوییچ کنید.برای فایل هایی مثل pdf طبیعتا فقط DocView نیاز میشه، اما تو svg میتونه قضیه فرق کنه.
- اصولا برای هر فرمت داکیومنتی که خودش اشاره کرده جوابه، اما احتمالا چون هیچ آفیسی روی سیستم نصب نداشتم نتونستم ppt رو با ایمکس باز کنم.
- میتونید این رو هم جهت مطالعه بیشتر چک کنید.
- ضمنا pdf-tools رو هم نگاه بندازید خوبه، این stackoverflow رو هم میتونید براش چک کنید.
خودم تستش نکردم ولی فکر کنم از DocView عملکرد بهتری نشون بده.
source
🔅@LinFAQ
🔅@LinAcademy
www.gnu.org
39 Document Viewing
Next: Running Shell Commands from Emacs, Previous: Network Security, Up: The Emacs Editor [Contents][Index]
#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی #eshell #emacs
باز کردن ابزار های tui داخل eshell:
اگه ابزار tui رو از طریق eshell باز کنید، به صورت پیش فرض فقط نمایش درست کار میکنه و کلید ها پاسخ نمیدن، اما با دستور زیر میشه ردیفش کرد:
منابع:
1- https://gitlab.com/dwt1/dotfiles/-/blob/master/.config/emacs/config.org
2- https://www.emacswiki.org/emacs/EshellVisualCommands
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی #eshell #emacs
باز کردن ابزار های tui داخل eshell:
اگه ابزار tui رو از طریق eshell باز کنید، به صورت پیش فرض فقط نمایش درست کار میکنه و کلید ها پاسخ نمیدن، اما با دستور زیر میشه ردیفش کرد:
(setq eshell-visual-commands'("bash" "crawl" "htop" "ssh" "top"))
البته صرفا یه راه حل... رو مخ! اجباری! هست چون کیفیت خیلی خوبی ارائه نمیده و اگه کلیدی با ایمکس مشترک باشه، به جای ابزار، ایمکس کلید رو میخونه(مثل f10 برای htop).
منابع:
1- https://gitlab.com/dwt1/dotfiles/-/blob/master/.config/emacs/config.org
2- https://www.emacswiki.org/emacs/EshellVisualCommands
🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی #آموزشی #emacs
نمایش تصاویر داخل ایمکس:
خیلی ساده و با find-file، همونطور که فایل های عادی رو باز میکنید، به صورت پیش فرض میشه تصاویر رو هم باز کرد (((((=
Source
"خب من برم nsxiv رو حذف کنم که دیگه نیازی بهش ندارم"
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #کاربردی #آموزشی #emacs
نمایش تصاویر داخل ایمکس:
خیلی ساده و با find-file، همونطور که فایل های عادی رو باز میکنید، به صورت پیش فرض میشه تصاویر رو هم باز کرد (((((=
Source
"خب من برم nsxiv رو حذف کنم که دیگه نیازی بهش ندارم"
🔅@LinFAQ
🔅@LinAcademy
www.gnu.org
Image Mode (GNU Emacs Manual)
Next: Filesets, Previous: Convenience Features for Finding Files, Up: File Handling [Contents][Index]
#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی #emacs
باز کردن فایل با کمک dired:
کافیه وقتی داخل dired هستید، نشانگر رو روی فایلی که میخواید باز کنید ببرید، بعد ! رو بزنید، در انتها اسم ابزار
رو وارد کنید و فایل مورد نظر از داخل اون ابزار باز میشه.
Source
"خب دیگه فایل منیجر هم ردیف شد"
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #آموزشی #کاربردی #emacs
باز کردن فایل با کمک dired:
کافیه وقتی داخل dired هستید، نشانگر رو روی فایلی که میخواید باز کنید ببرید، بعد ! رو بزنید، در انتها اسم ابزار
(مثل mpv برای فایل ویدئویی)
رو وارد کنید و فایل مورد نظر از داخل اون ابزار باز میشه.
Source
"خب دیگه فایل منیجر هم ردیف شد"
🔅@LinFAQ
🔅@LinAcademy
Emacs Stack Exchange
Emacs: how to open and play a video file
If I am exploring my file system in Dired-mode and I come across a video file, for example, it would be nice to be able to play that video file. How can I do this in Emacs?
I can use Emacs to open a
I can use Emacs to open a
#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی #آموزشی #emacs #eshell
راجب دستور man داخل eshell:
اگه
which man
رو داخل eshell بزنید با این نتیجه مواجه میشید... ((((=
یعنی man هم به lisp بازنویسی شده و میتونید راحت manpage ها رو از داخل eshell باز کنید و پیش فرض هایلایت ردیف هست و...
"امیدوارم درست بیان کرده باشم، سطح هوشیاریم پایینه"
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #کاربردی #آموزشی #emacs #eshell
راجب دستور man داخل eshell:
اگه
which man
رو داخل eshell بزنید با این نتیجه مواجه میشید... ((((=
یعنی man هم به lisp بازنویسی شده و میتونید راحت manpage ها رو از داخل eshell باز کنید و پیش فرض هایلایت ردیف هست و...
"امیدوارم درست بیان کرده باشم، سطح هوشیاریم پایینه"
🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی #آموزشی #emacs #eshell
راجب دستور diff داخل eshell:
قضیه مشابه نکته قبلی هست، فقط اینم یکم خفن تر شده و علاوه بر هایلایت، اگه روی تغییرات اینتر بزنید فایل رو باز میکنه.
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #کاربردی #آموزشی #emacs #eshell
راجب دستور diff داخل eshell:
قضیه مشابه نکته قبلی هست، فقط اینم یکم خفن تر شده و علاوه بر هایلایت، اگه روی تغییرات اینتر بزنید فایل رو باز میکنه.
🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی #آموزشی #Emacs #eshell
در Emacs ، میتوانید از قابلیت
با اضافه کردن این قطعه کد، modeline در
🔅@LinFAQ
🔅@LinAcademy
دستهبندی: #کاربردی #آموزشی #Emacs #eshell
داشتم پیام های گروه میخوندم دیدم دارن از ربات (GPT) سوال میپرسن بعد دیدم جالبه دلاتو هم فرستاد برام دیگه به عنوان نکته گذاشتم
در Emacs ، میتوانید از قابلیت
eshell برای پنهان کردن modeline استفاده کنید. برای این کار میتوانید دستور زیر را به init.el یا فایل تنظیمات خود در Emacs اضافه کنید:(add-hook 'eshell-mode-hook (lambda () (setq mode-line-format nil)))
با اضافه کردن این قطعه کد، modeline در
eshell مخفی خواهد شد. اگر میخواهید بار دیگر نمایش داده شود، میتوانید این تغییرات را بازنشانی کنید.🔅@LinFAQ
🔅@LinAcademy
#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی #آموزشی #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
#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی #آموزشی #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.
#روزی_یک_نکته با دلاتو
دستهبندی: #کاربردی #أموزشی
#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
#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی
#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