برنامه نویسی

تسلط بر پرانتز در Emacs: دستورات ضروری

Summarize this content to 400 words in Persian Lang

مقدمه

این مقاله از نسخه اصلی ژاپنی ترجمه شده است.

Emacs چندین دستور راحت را برای عملیات کارآمد شامل پرانتز ارائه می دهد. در این مقاله می خواهم این دستورات را معرفی کنم. علاوه بر این، من همچنین یک بسته پیشرفته به نام smartparens را برای گسترش این قابلیت ها معرفی خواهم کرد.

ویژگی های اساسی

این بخش ویژگی هایی را که به طور پیش فرض در Emacs گنجانده شده است معرفی می کند. من آنها را در Emacs 29.4 تایید کردم، اما آنها باید با نسخه های قدیمی تر نیز کار کنند.

پرانتز ها را با show-paren-mode

حالت show-paren-mode یک حالت فرعی شناخته شده است. با فعال کردن آن، پرانتزهای باز و بسته منطبق را برجسته می کند. در اینجا یک مثال است:

(show-paren-mode t)
(setq show-paren-style ‘mixed)

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

سه سبک وجود دارد: parenthesis، expression، و mixed.

پرانتز
بیان

به‌طور پیش‌فرض، استایل روی تنظیم شده است parenthesis، که فقط پرانتزها را برجسته می کند. expression کل محدوده محصور شده توسط پرانتز را برجسته می کند. mixed مانند رفتار می کند parenthesis در اکثر موارد اما به expression هنگامی که محدوده محصور شده توسط پرانتز طولانی است و خارج از صفحه نمایش گسترش می یابد.

پرش از روی پرانتز با forward-sexp و backward-sexp

فرمان forward-sexp، مقید به C-M-f به طور پیش فرض، امکان پرش به عبارت نمادین بعدی (S-expression) در Emacs را فراهم می کند. S-expression، مخفف Symbolic Expression، در اصل یک عبارت Lisp است. در اینجا چند نمونه آورده شده است که ► موقعیت مکان نما را نشان می دهد:

قبل از
بعد از
توضیح

►(message “hello world”)
(message “hello world”)►
می پرد (…).

(►message “hello world”)
(message► “hello world”)
می پرد message.

(message ►”hello world”)
(message “hello world”►)
می پرد “…”.

همانطور که نشان داده شده است، forward-sexp برای پیمایش در مناطق دارای پرانتز مفید است. در حالی که smartparens دستورات تخصصی را برای یافتن پرانتزهای منطبق ارائه می دهد، forward-sexp به تنهایی کاملا موثر است همتای آن، backward-sexp، که عملیات معکوس را انجام می دهد، مقید است C-M-b.

پرش به سطح پرانتز بعدی با up-list

up-list یکی از دستورات برای دستکاری عبارات S است. اجرای این دستور مکان نما را به سطح بالاتر پرانتز بعدی منتقل می کند. آن را به عنوان جستجوی یک پرانتز بسته برای پرش در نظر بگیرید. در اینجا یک مثال است:

قبل از
بعد از

(message► “hello world”)
(message “hello world”)►

(message “hello► world”)
(message “hello world”►)

حذف پرانتز و مطالب با kill-sexp

فرمان kill-sexp، مقید به C-M-k به طور پیش فرض، عبارت S بعدی را حذف می کند. به عنوان مثال، می تواند همه چیز را از پرانتز باز تا بسته شدن حذف کند. در اینجا چند نمونه آورده شده است:

قبل از
بعد از

►(message “hello world”)

(message ►”hello world”)
(message ►)

پرنس های هوشمند

smartparens بسته ای است که عملیات مربوط به پرانتز را گسترش می دهد. ویژگی هایی مانند درج خودکار پرانتزهای منطبق و موارد دیگر را فراهم می کند. این مقاله تنها چند دستور را معرفی می کند، بنابراین برای جزئیات و دستورالعمل های نصب به مستندات smartparens مراجعه کنید.

محتویات داخل پرانتز را با sp-change-inner

sp-change-inner پرانتزهای بعدی را از موقعیت مکان نما جستجو می کند و محتویات آن را حذف می کند. در اینجا یک مثال است:

قبل از
بعد از

(message “hello ►world”)
(message “”)

(mess►age “hello world”)
()

حذف پرانتز با sp-unwrap-sexp

sp-unwrap-sexp پرانتزهای بعدی را از موقعیت مکان نما جستجو می کند و آن را حذف می کند. در اینجا یک مثال است:

قبل از
بعد از

(message “hello ►world”)
(message hello world)

►(message “hello world”)
message “hello world”

پرانتز را جایگزین کنید sp-rewrap-sexp

sp-rewrap-sexp پرانتزهای بعدی را از موقعیت مکان نما جستجو می کند و آن را با نوع جدیدی از پرانتز جایگزین می کند. پس از اجرای دستور، از شما خواسته می شود که نوع جدید پرانتز را مشخص کنید. اگرچه اغلب استفاده نمی شود، اما می تواند برای کارهایی مانند تبدیل مفید باشد ” به ‘ و برعکس

نتیجه گیری

در این مقاله دستورات مختلف مربوط به پرانتز در ایمکس معرفی شد. با ترکیب این دستورات، می توانید در مقایسه با دستکاری متن یک کاراکتر در یک زمان، بسیار سریعتر برنامه ریزی کنید. در حالی که این عملیات ممکن است اغلب انجام نشوند، ممکن است برای شما مفید باشد که اتصالات کلید را بر اساس ترجیحات خود اختصاص دهید.

یکی دیگر از پکیج های مربوط به پرانتز، حالت جفت برقی است که به دلیل عدم اطلاع از آن در اینجا حذف شده است. اگر علاقه مند هستید، لطفاً در ادامه آن را بررسی کنید.

مقدمه

این مقاله از نسخه اصلی ژاپنی ترجمه شده است.

Emacs چندین دستور راحت را برای عملیات کارآمد شامل پرانتز ارائه می دهد. در این مقاله می خواهم این دستورات را معرفی کنم. علاوه بر این، من همچنین یک بسته پیشرفته به نام smartparens را برای گسترش این قابلیت ها معرفی خواهم کرد.

ویژگی های اساسی

این بخش ویژگی هایی را که به طور پیش فرض در Emacs گنجانده شده است معرفی می کند. من آنها را در Emacs 29.4 تایید کردم، اما آنها باید با نسخه های قدیمی تر نیز کار کنند.

پرانتز ها را با show-paren-mode

حالت show-paren-mode یک حالت فرعی شناخته شده است. با فعال کردن آن، پرانتزهای باز و بسته منطبق را برجسته می کند. در اینجا یک مثال است:

(show-paren-mode t)
(setq show-paren-style 'mixed)
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

سه سبک وجود دارد: parenthesis، expression، و mixed.

پرانتز بیان
تصویر زمانی که سبک نمایش پرانتز پرانتز است تصویر زمانی که show-paren-style بیان است

به‌طور پیش‌فرض، استایل روی تنظیم شده است parenthesis، که فقط پرانتزها را برجسته می کند. expression کل محدوده محصور شده توسط پرانتز را برجسته می کند. mixed مانند رفتار می کند parenthesis در اکثر موارد اما به expression هنگامی که محدوده محصور شده توسط پرانتز طولانی است و خارج از صفحه نمایش گسترش می یابد.

پرش از روی پرانتز با forward-sexp و backward-sexp

فرمان forward-sexp، مقید به C-M-f به طور پیش فرض، امکان پرش به عبارت نمادین بعدی (S-expression) در Emacs را فراهم می کند. S-expression، مخفف Symbolic Expression، در اصل یک عبارت Lisp است. در اینجا چند نمونه آورده شده است که ► موقعیت مکان نما را نشان می دهد:

قبل از بعد از توضیح
►(message "hello world") (message "hello world")► می پرد (...).
(►message "hello world") (message► "hello world") می پرد message.
(message ►"hello world") (message "hello world"►) می پرد "...".

همانطور که نشان داده شده است، forward-sexp برای پیمایش در مناطق دارای پرانتز مفید است. در حالی که smartparens دستورات تخصصی را برای یافتن پرانتزهای منطبق ارائه می دهد، forward-sexp به تنهایی کاملا موثر است همتای آن، backward-sexp، که عملیات معکوس را انجام می دهد، مقید است C-M-b.

پرش به سطح پرانتز بعدی با up-list

up-list یکی از دستورات برای دستکاری عبارات S است. اجرای این دستور مکان نما را به سطح بالاتر پرانتز بعدی منتقل می کند. آن را به عنوان جستجوی یک پرانتز بسته برای پرش در نظر بگیرید. در اینجا یک مثال است:

قبل از بعد از
(message► "hello world") (message "hello world")►
(message "hello► world") (message "hello world"►)

حذف پرانتز و مطالب با kill-sexp

فرمان kill-sexp، مقید به C-M-k به طور پیش فرض، عبارت S بعدی را حذف می کند. به عنوان مثال، می تواند همه چیز را از پرانتز باز تا بسته شدن حذف کند. در اینجا چند نمونه آورده شده است:

قبل از بعد از
►(message "hello world")
(message ►"hello world") (message ►)

پرنس های هوشمند

smartparens بسته ای است که عملیات مربوط به پرانتز را گسترش می دهد. ویژگی هایی مانند درج خودکار پرانتزهای منطبق و موارد دیگر را فراهم می کند. این مقاله تنها چند دستور را معرفی می کند، بنابراین برای جزئیات و دستورالعمل های نصب به مستندات smartparens مراجعه کنید.

محتویات داخل پرانتز را با sp-change-inner

sp-change-inner پرانتزهای بعدی را از موقعیت مکان نما جستجو می کند و محتویات آن را حذف می کند. در اینجا یک مثال است:

قبل از بعد از
(message "hello ►world") (message "")
(mess►age "hello world") ()

حذف پرانتز با sp-unwrap-sexp

sp-unwrap-sexp پرانتزهای بعدی را از موقعیت مکان نما جستجو می کند و آن را حذف می کند. در اینجا یک مثال است:

قبل از بعد از
(message "hello ►world") (message hello world)
►(message "hello world") message "hello world"

پرانتز را جایگزین کنید sp-rewrap-sexp

sp-rewrap-sexp پرانتزهای بعدی را از موقعیت مکان نما جستجو می کند و آن را با نوع جدیدی از پرانتز جایگزین می کند. پس از اجرای دستور، از شما خواسته می شود که نوع جدید پرانتز را مشخص کنید. اگرچه اغلب استفاده نمی شود، اما می تواند برای کارهایی مانند تبدیل مفید باشد " به ' و برعکس

نتیجه گیری

در این مقاله دستورات مختلف مربوط به پرانتز در ایمکس معرفی شد. با ترکیب این دستورات، می توانید در مقایسه با دستکاری متن یک کاراکتر در یک زمان، بسیار سریعتر برنامه ریزی کنید. در حالی که این عملیات ممکن است اغلب انجام نشوند، ممکن است برای شما مفید باشد که اتصالات کلید را بر اساس ترجیحات خود اختصاص دهید.

یکی دیگر از پکیج های مربوط به پرانتز، حالت جفت برقی است که به دلیل عدم اطلاع از آن در اینجا حذف شده است. اگر علاقه مند هستید، لطفاً در ادامه آن را بررسی کنید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا