Skip to main content

Command Palette

Search for a command to run...

این ایمکس دوست داشتنی (بالانس کردن پرانتز‌ها)

Published
2 min read
(electric-pair-mode)
(show-paren-mode)

خوب با خط اول‌، به ایمکس می‌گوییم‌، هر وقت ما پرانتزی (که شامل تمام علاماتی است که در بالا اشاره کردیم) باز کردیم‌، خودت به صورت خودکار‌، کاراکتر بستن آن را وارد کن. همین‌طور در خط دوم مجبورش می‌کنیم وقتی روی پرانتزی هستیم‌، اگر جفتی برایش وجود دارد‌، آن را برایمان نمایش دهد (هر دو طرف پرانتز سبز می‌شود معمولا‌. با توجه به تنظیمات پوستهٔ ایمکس)‌. اگر نه‌، سمتی که رویش ایستاده‌ایم را قرمز کن تا بفهمیم تنهاست ;-)

نمونه‌ای از نمایش جفت پرانتز در ایمکس نمونه‌ای از نمایش جفت پرانتز در ایمکس

بخش اول کار که معلوم است. ولی این بخش دوم قابلیت‌های جالب دیگری هم دارد. مثلا می‌توان با(setq show-paren-delay 0) میزان زمانی که طول می‌کشد تا جفت کاراکتر پرانتزمان را نمایش دهد را تعیین کنیم. از قرار به طور پیش‌فرض مقداری Delay تعیین شده که ما با این دستور می‌توانیم صفرش کنیم. من این کار را نکردم چون به نظرم سر موقع نمایش داده می‌شوند.

همین‌طور می‌توان با(setq show-paren-style 'MODE) تعیین کرد که نمایش هر جفت پرانتز چطور باشد. که برای این کار باید عبارت MODE را با یکی از سه گزینهٔ زیر جایگزین کنیم:

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

به همین سادگی می‌توانید آن‌طور که می‌خواهید این رفتار ایمکس را هم کنترل کنید.

من این آموزش را نمی‌دانم از کجای اینترنت یاد گرفتم. ولی این [وبلاگ](http://emacs-fu.blogspot.de/2009/01/balancing-your-parentheses.html "Emacsfu") هم به آن اشاره کرده که وبلاگ عالی‌ای هم هست. پیشنهاد می‌کنم از دستش ندهید. خیلی خیلی تکنیک‌های جالبی با آن یاد خواهید گرفت.

More from this blog

معجون بهشتی Selenium, PhantomJS و Requests برای web scraping

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

Oct 15, 20168 min read

ورژن کنترل اختیاری نیست!

حقیقتش انتظار داشتم این موضوع خیلی وقت پیش حل شده باشد. حتی پیش خودم فکر می‌کردم که ورژن کنترل یک جورهایی جزء غرایض جامعه‌ی نرم‌افزاری است‌، آن هم با درجه‌ی اهمیتی مثل نفس کشیدن. دوستی دارم که حدوداً دو سال پیش روی دیوار فیس‌بوک‌اش از پاک شدن اتفاقی ...

Dec 27, 20154 min read

خوبی‌های جاوا اسکریپت؟

خیلی وقت است ننوشته‌ام و حقیقتش همین الان هم زیاد مثل گذشته حس نوشتن ندارم. موضوع این است که از طرفی چند نفر از شما دوستان در ایمیل‌هایی از من خواستید که باز بنویسم (راستش اصلا فکر نمی‌کردم کسی آن بیرون به فکر چرایی آپدیت نشدن این وبلاگ باشد.) که ازش...

Jul 8, 20153 min read

کدنویسی بازی جاوااسکریپت به صورت زنده توسط Mary Rose

نمی‌دونم چقدر با جاوااسکریپت آشنایی دارین، ولی جدا زبان فوق‌العاده‌ایه. خصوصا این که پلتفرم جذابی داره‌، اصلا نیاز نیست چیزی کامپایل شه یا برنامه خاصی نصب شه‌، یه مرورگر و تموم، دیگه شمایید و خلاقیتتون. گاها آدم یه چیزایی می‌بینه که بدجوری سر شوق می‌...

Oct 8, 20141 min read

برنامه نویسی کرنل لینوکس با راهنمایی The Eudyptula Challenge

عموما کسانی که از گنو/لینوکس به عنوان سیستم‌عامل اصلی‌شان استفاده می‌کنند‌، همه‌اش به خاطر چه می‌دانم‌، فرهنگ آزاد یا روش‌های گیکانه انجام کار‌هایشان نیست. حتی برای باحال‌تر به نظر رسیدن هم نیست. حقیقت این است که ما‌، علاقه به درک بیشتر ابزار‌هایمان ...

Oct 1, 20143 min read

وبلاگ شاهین

221 posts