Skip to main content

Command Palette

Search for a command to run...

تغییر پوسته Emacs با بسته color-theme

Published
3 min read

اولین روشی که برای این کار با آن آشنا شدم‌، فایلی به اسم ‎[.Xdefaults](http://www.softpanorama.org/Xwindows/Configuration/xdefaults.shtml "xdefaults on sofpanaroma") در پوشه‌ی خانگی بود که از قرار آرگومان‌هایی علاوه بر نمونه‌هایی که خواهیم دید برای کنترل نمایش دیگر نرم‌افزار‌ها نظیر xterm نیز در خود دارد‌. برای استفاده از این روش کافیست این فایل را با ویرایشگر باز کرده‌، و خطوطی به صورت زیر به آن اضافه کنیم‌:

Emacs.background: ivory

Emacs.foreground: MidnightBlue

که رنگ پس زمینه‌، و رنگ نوشته‌ها را تعیین می‌کند‌. اما مشکل این روش جدای از چندان ایمکسی نبودن‌، وابسته بودن به محیط X است که چندان محیط یک‌پارچه‌ای برای ایمکس در ترمینال و X ارائه نمی‌کند‌. (‌البته شاید هم بکند که من نمی‌دادنم‌) به هر حال در صورت علاقه به آشنایی با این روش می‌توانید + و + را مطالعه کنید‌.

استفاده از ‎.emacs

روش بعدی استفاده از ویژگی‌های خود ایمکس است‌. در این روش کافیست تنظیماتی به شکل زیر را به فایل ‎.emacs موجود در پوشه‌ی خانگیتان وارد کنید‌:

(set-face-foreground 'default "blue")

(set-face-background 'default "green")

ویژگی‌های دیگری نیز از این دست نظیر زیر‌خط‌ها و ... موجودند‌. برای این که به تنظیمات نمایش هر بخش از نوشته دست یابید‌، کافیست نشانگر را به آن‌جا برده و M-x describe-face را وارد کنید‌. اطلاعات کاملی در مورد نمایش آن بخش به شما نشان داده خواهد شد که می‌توانید با توجه به سلیقه‌ی خود آن رو تغییر دهید‌.

جدای از تعریف مستقیم نام رنگ‌ها به صورت red, blue و ... می‌توان از نام Hex رنگ‌ها نیز استفاده کرد. (‌البته توجه داشته باشید که ترمینال شما باید از میزان رنگ متناسب پشتیبانی کند)

معرفی color-theme

خوب تا این‌جای کار با روش‌های تغییر ساختار رنگ پوسته‌ی ایمکس آشنا شدیم‌. اما خوب بالاغیرتا کار طاقت فرساییست که بخواهیم برای تمامی حالات یک پوسته‌ی ایمکس (‌آن هم با این همه قابلیت‌) رنگ‌بندی متناسبی پیدا کنیم‌. این‌جاست که طبق معمول (‌در دنیای آزاد) بسته‌ای به نام [color-theme](https://gna.org/projects/color-theme "color theme official page") با پنجاه پوسته رنگ پیش‌فرض که قابلیت تغییر نیز دارند در دسترس شماست‌. برای [نصب آن](http://www.emacswiki.org/emacs-en/ColorTheme#toc1 "colortheme on emacs wiki") کافیست پس از [دانلودش‌،](http://download.gna.org/color-theme/ "download emacs color theme") استخراجش کرده‌، و فایل color-theme.el و پوشه‌ی themes را به یکی از شاخه‌های موجود در load-path‌تان وارد کنید‌. اگر نمی‌دانید load-path چیست [این‌جا](http://www.emacswiki.org/emacs-en/LoadPath "loadpath on emacs wiki") را مطالعه کنید‌، برای محکم کاری هم می‌توانید از دستورات زیر بهره ببرید‌:

wget http://download.gna.org/color-theme/color-theme-6.6.0.tar.gz

mkdir ~/.emacs.d

mkdir ~/.emacs.d/color-theme

tar -xvf color-theme-6.6.0.tar.gz

cd color-theme-6.6.0.tar.gz

mv color-theme.el ~/.emacs.d/color-theme

mv themes ~/.emacs.d/color-theme

vim ~/.emacs

و در آخر خطوط زیر را به فایل اضافه کرده و آن را ذخیره کنید‌:

(require 'color-theme)

(color-theme-initialize)

(color-theme-robin-hood)

که در این‌جا پوسته‌ای به نام robin-hood را انتخاب کردیم‌. (‌برای کسب اطلاعات کامل‌تر در این زمینه می‌توانید به این صفحه رجوع کنید‌). خوب پوسته‌های این بسته چندان چنگی به دل نمی‌زد‌.

جستجوی بعدی مرا به [این صفحه](http://slinky.imukuppi.org/zenburnpage/ "zenburn page") رساند‌. معرفی‌نامه‌ی پوسته‌ای به اسم zenburn (‌که قبلا [افتخار آشنایی](http://shahinism.com/blog/1391/01/10/%db%8c%da%a9-%d9%be%d9%88%d8%b3%d8%aa%d9%87-%d8%a8%d8%b1%d8%a7%db%8c-%d9%85%d8%af%db%8c%d8%b1-%d9%be%d9%86%d8%ac%d8%b1%d9%87-awesome/ "یک پوسته برای مدیر پنجره Awesome") با آن را روی Awesome wm داشتم) که ار قرار اولین بار برای Vi منتشر شده و الان توسط دوست‌دارانش برای بسیاری دیگر از نرم‌افزار‌ها توسعه داده شده‌. (‌در آینده در مورد نحوه‌ی استفاده از آن در باقی نرم‌افزار‌ها هم خواهم نوشت‌).

خوب برای بهره برداری از این پوسته روی emacs به این صورت عمل می‌کنیم‌:

git clone https://github.com/dbrock/zenburn-el.git

mkdir ~/.emacs.d/color-theme/themes/zenburn

mv zenburn-el/zenubrn.el ~/.emacs.d/color-theme/themes/zenuburn

vim ~/.emacs

و کلا به جای خطوط اضافه شده‌ی قبلی‌، خطوط زیر را اضافه می‌کنیم‌:

(add-to-list 'load-path "~/.emacs.d/color-theme/")

(load-file "~/.emacs.d/color-theme/themes/zenburn-el/zenburn.el")

(zenburn)

و حالا با اجرای ایمکس از رنگ‌بندی جدید لذت می‌بریم‌:

البته طبق معمول اگر جایی چیزی نا خوشایند بود می‌توان دستکاری و بهترش کرد‌.

نکته‌: من هنوز در مورد ویرایشگر‌های Vi و Emacs بسیار آماتور هستم‌ و ممکن است در میان آموزش‌های این‌چنینی اشتباهاتی رخ داده باشد‌. (‌کلا نمی‌خواهم ترس از اشتباه جلوی این‌چنین نوشتنم را بگیرد‌) لذا از تمامی دوستانی که دستی بر آتش دارند دعوت می‌کنم در بهتر شدن این نوشتار‌ها یاری‌ام کنند ;-)

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