mozhgan
08-21-2011, 03:41 AM
EMACS چیست؟
برنامهی EMACS یکی از محبوبترین ویرایشگرهای متن در لینوکس است. این ویرایشگر را بنیان گذار بنیاد نرم افزار آزاد یعنی ریچارد استالمن در دانشگاه MIT و با زبان برنامه نویسی LISP نوشت. EMACS مخفف Editing MACroS میباشد . این برنامه را میتوانید /ee´maks/ تلفظ کنید. این برنامه زمانی که ریچارد در آزمایشگاههای هوش مصنوعی دانشگاه MIT کار میکرد نوشت و ر آن زمان پس از انتشار بسیار مورد قبول واقع شد. حتی گفته میشود اکثر هکرها بیشتر tube time خود را در این برنامه سپری میکنند!
البته امروزه دیگر این برنامه تنها یک ویرایشگر متن نیست بلکه به یک برنامهی ارسال و دریافت نامه و کنترل ورژن یا CVS و برنامهی کار با گروههای خبری و یک برنامهی مناسب برای کار با صفحات HTML یا XML ونیز SGML و حتی DocBook تبدیل شده است. این برنامه همان طور که گفته شد توسط زبان برنامه نویسی LISP نوشته شده است و به مرور زمان هر کسی که مایل بوده قسمتی به آن اضافه کرده حتی برای کارهای سفارشیتان میتوانید خودتان به فراگیری زبان LISP بپردازید و پس از آن شروع به نوشتن اجزای این برنامه بکنید.
طبق گفتههای ریچارد استالمن میتوان این طور دریافت که این برنامه اولین برنامهی آزاد دنیای GNU بوده است که علاوه بر دانلود رایگان به فروش نیز میرسیده یعنی ریچارد این برنامه را برروی نوار کپی کرده و آن را به قیمتی حدود ۱۰۰ دلار به فروش میرسانده، البته اگر پول خرید این برنامه را نداشتید میتوانستید از روی شبکه دانلود و استفاده کنید.
در نهایت باید گفت که این برنامه از ابتدا با حروف درشت و به صورت EMACS نوشته میشده که در حال حاضر اغلب به صورت Emacs نوشته میشود و ما نیز از هان روش اصیل استفاده خواهیم کرد.
نصب و راه اندازی
برنامهی ایمکس در اغلب توزیعهای اصلی و بزرگ لینوکس یافت میشود. ونیازی به دانلود آن نخواهید داشت کافیست به بخش مدیریت بستههای توزیع لینوکستان بروید و آن را دریافت کنید. البته اگر از سیستم عاملی غیر از گنو/لینوکس نیز استفاده میکنید برای شما نیز چارهای هست، این برنامه برای سیستم عاملهای مکینتاش و ویندوز نیز موجود است. البته مسلم است که برای انواع یونیکس مخصوصا FreeBSD نیز نسخههایی وجود دارد حتی برای آمیگا و آتاری نیز این ابزار را میتوانید دریافت و نصب کنید.
قابل توجه که این برنامه یک نسخهی GNU EMACS دارد و یک نسخهی XEMACS که نسخهی اول مخصوص خط فرمان است و نسخهی دوم به صورت گرافیکی و برای X window طراحی شده است. بنابراین شما میتوانید نسخه ی گرافیکی آن را دریافت و حتی از ماوس برای کارهایتان استفاده کنید.
نسخهی مخصوص ویندوز این برنامه در آدرس ftp://ftp.gnu.org/gnu/windows/emacs/latest قابل دریافت است، البته این نسخهها برای ویندوز های برپایهی DOS ی DOS base windows هستند که شامل 95 و 98و ME می شوند برای ویندوزهای NT base نیز نسخههایی وجود دارد که برروی تمام این ویندوزها قابل اجرا نیستند . نسخهی مکینتاش آن در آدرس http://mac-emacs.sourceforge.net/index.html موجود است ، اگر تمایلی به دریافت یا استفاده از ایمکس در سیستم عاملی جز گنو/لینوکس دارید به آدرسهای یاد شده مراجعه کنید. اما برای اطلاعات بیشتر یا دانلود نسخههای جدید ایمکس میتوانید علاوه بر سایت توزیع خودتان به سایت رسمی این برنامه در آدرس www.gnu.org/software/macs/emacs.html مراجعه کنید.در این سایت علاوه بر آخرین اخبار این برنامه به اطلاعات بیشتری نیز میتوانید دست پیدا کنید. بنابراین حتما به آن سری بزنید و از اطلاعات مفیدش استفاده کنید.
شروع کار با GNU EMACS
قبل از هر چیز باید با نحوه ی کار با ایمکس کمی آشنا شوید. در این برنامه شما دوراه برای انجام هر کار دارید یکی استفاده از منوها ودیگری استفاده از hot-key ها که درواقع استفاده از صفحه کلید را شامل است. در راهنماهای EMACS چه در اینترنت و چه راهنماهای توکار برنامه شما با پنج کلید کلی آشنا میشوید :
C. این همان کلید Control یا Ctrl برروی صفحه کلیدهای معمول در ایران است.
M.این کلید که Meta key خوانده میشود در صفحه کلیدهای معمول در ایران اغلب با نام Alt یا Edit نمایش داده میشود.
ESC.این کلید نیز کلید اسکیپ یا Escape key می باشد.
DEL.کلید Delete یا Baclsapace در اغلب مواقع در این برنامه با نشانهی DEL نمایش داده میشوند.
RETURN. این کلید نیز کلید Enter برروی صفحه کلیدهای معمول است.
ترکیب کلیدها نیز به صورت -C و -M نشان داده میشود . برا نمونه C-h یعنی کلیدهای کنترل و h همزمان فشرده شوند یا M-x یعنی کلیدهای متا و x همزمان فشرده شوند، که همان Alt و x هستند.
اغلب برای اجرای دستورات در EMACS از دو سری hot key استفاده میشود برای نمونه برای ذخیرهی تغییرات از کلیدهای C-x C-s استفاده میشود یعنی کلیدهای کنترل و x با هم فشرده شوند و بعد از رها کردن آنها کلیدهای کنترل و s با ه فشرده شوند. یکبار ازماش کنید بسیار سریع و آسان است.
برای شروع برنامه در خط فرمان یا پنجرهی RUN بنویسید emacs ویا برروی آیکون برنامه برروی دسکتاپ یا منوی میزکارتان کلیک کنید. در صورتی که این برنامه را با محیط گرافیکی آن یعنی XEMACS نصب کرداید اما میخواید در کنسول با آن کار کنید و نیازی به ماوس نمیبینید از دستور emacs -nw استفاده کنید.
برنامهی EMACS آمادهی کار است، برای کار آماده است، برای شروع با استفاده از کلیدهای C-x C-f یک فایل جدید میسازیم. بعد از فشردن این کلیدها در قسمت پایین ایمکس شما متنی به صورت /~ : file نمایش داده میشود. اگر میخواهید فایلی را ویرایش کنید در این قسمت مسیر فایل خود را بنویسید، قابل توجه کاربران تازهکار که علامت tild یا ~ در سیستمهای یونیکس و گنو/لینوکس به معنی دایرکتوری خانگی است. برای نمونه من فایل HTML موجود در مسیر home/tux/work/technoux/emacs.html/ را باز میکنم : file ~/work/technotux/emacs.html خوب این فایل در صفحهی EMACS من نمایش داده خواهد شد. اگر قصد ایجاد یک فایل جدید مثلا به نام letter.txt را در دایرکتوری work دارید در همین قسمت تایپ کنید file :~/work/letter.txt ایکس یک فایل با همین نام در دایرکتوری مذکور ایجاد میکند و یک صفحهی سفید در اختیارتان قرار خواهد داد.
متن خود را بنویسید، پس از اتمام نگارش متن برای ذخیرهی متن از کلیدهای C-x C-s استفاده کنید. برای خروج نیز از کلیدهای C-x C-s
نکته :
برای Cancel کردن دستورات وارد شده از C-g یا کنترل و g استفاده کنید.
حرکت در EMACS
ویش از حرکت پیشنهاد می کنم همزمان با مطالعهی این مقاله یک پنجرهی باز یا یک ترمینال همراه با برنامهی EMACS همراه خود داشته باشید ! بدین ترتیب کلیدها وروشها بسیار سریع تر در خاطرتان خواهند ماند و مقاله برایتان گویاتر خواهد شد.
برای جابجایی در متن داخل برنامهی EMACS علوه بر کلیدهای فلش یا Arrow Keys که به صورت →↑↓← هستند شما میتوانید از هات-کیهای خود ایمکس استفاده کنید. برای رفتن به خط بعد از C-n وبرای رفتن به خط قبل از C-p استفاده کنید . برای آنکه مجموعهی این کلیدها را بتوانید در یک نگاه گرد هم ببینید بهتر در ذهن بسپارید و در مراجعات بعدی مجبور به خواندن تمام متن نباشید کلیدهای مربوطه را در یک جدول برایتان مینویسم :
http://pic.azardl.com/images/99476598622474611295.jpg (http://pic.azardl.com/)
جستجو در EMACS
برای جستجو در ایمکس از کلیدهای C-s برای جستجو روبه جلو یا جستجو از بالا به پایین و از C-r برای جستجو به سمت عقب با صفحات پیشین استفاده کنید. با فشردن این کلیدها در قسمت پایین میتوانید در مقابل نوشتهی Search یا هر نوشتهی شبیه به آن مانند I-Search متن مورد نظرتان را بنویسید. اگر میخواهید جستجو را تکرار کنید از دکمههای C-s C-s برای جستجو رو به جلو واز C-r C-r برای جستجو روبه عقب استفاده کنید. اگر قصد جاگذاری یا Replace دارید از %ESC استفاده کنید.برای پایان به عمل جستجو نیز از RETURN یا کلید Enter استفاده کنید.
جایگزینی متن
فرض کنید در تمام متن کلمهی gnu را با حروف کوچک نوشتهاید و میخواهید به GNU یعنی با حروف بزرگ تبدیل کنید، یافتن و حذف و تایپ دوباره کاریست طاقت فرسا و بسیار حوصله گیر ؛ EMACS نیز یه برنامهی فوق العاده در این زمینه هست پس حتما برای شما چارهای اندیشیده، بله با استفاده از Replace یا جایگزینی میتوانید این کار ا انجام دهید.
همان طور که در قسمت قبل گفته شد برای جایگزینی از % ESC استفاده میشود یعنی شما دکمهی ESC را همزمان با Shift و 5 بگیرید ! Shift و 5 همان علامت % است . برنامه از شما متنی را که باید جایگزین شود میپرسد برای نمونه شما gnu را وارد میکنید و دکمهی Enter یا Return را در صفحه کلیدتان میفشارید، حالا برنامه از شما متن جدید را که باید جایگزین قبلی شود را میخواهد شما متن جدید را وارد و Enter را میفشارید. در اینجا ما GNU را وارد میکنیم، برنامه اولین لغت را پیدا و از شما میپرسد که چه رفتاری باید داشته باشد.
اگر Space را فشار دهید فقط همان لغت جایگزین میشود و برنامه لغت بعدی را پیدا میکند . اما اگر ! را وارد کنید برنامه تمام لغتهای gnu را به GNU تغییر میدهد درواقع زدن ! مانند Replace All میباشد. اگر E را بفشارید میتوانید متن جایگزین را تغییر دهید برای نمونه اگر در قسمتی از متن باید از Gnu استفاده کنید و درحال حاضر قرار است gnu ها با GNU جایگزین شوند شما میتوانید Shift و e را بزنید و بعد متن جدید یعنی Gnu را وارد کنید از این پس gnu با Gnu جایگزین خواهد شد نه با GNU. زمانی که کارتان به اتمام رسید زدن یک RETURN یا Enter کارهارا تمام خواهد کرد.
البته اگر بعد از وارد کرد لغتهایتان نمیدانستید باید چه کنید بعد از زدن متن جایگزین شونده یک علامت سوال یا ? تایپ کنید، گزینههای قابل استفاده بلافاصله نمایان خواهند شد
برنامهی EMACS یکی از محبوبترین ویرایشگرهای متن در لینوکس است. این ویرایشگر را بنیان گذار بنیاد نرم افزار آزاد یعنی ریچارد استالمن در دانشگاه MIT و با زبان برنامه نویسی LISP نوشت. EMACS مخفف Editing MACroS میباشد . این برنامه را میتوانید /ee´maks/ تلفظ کنید. این برنامه زمانی که ریچارد در آزمایشگاههای هوش مصنوعی دانشگاه MIT کار میکرد نوشت و ر آن زمان پس از انتشار بسیار مورد قبول واقع شد. حتی گفته میشود اکثر هکرها بیشتر tube time خود را در این برنامه سپری میکنند!
البته امروزه دیگر این برنامه تنها یک ویرایشگر متن نیست بلکه به یک برنامهی ارسال و دریافت نامه و کنترل ورژن یا CVS و برنامهی کار با گروههای خبری و یک برنامهی مناسب برای کار با صفحات HTML یا XML ونیز SGML و حتی DocBook تبدیل شده است. این برنامه همان طور که گفته شد توسط زبان برنامه نویسی LISP نوشته شده است و به مرور زمان هر کسی که مایل بوده قسمتی به آن اضافه کرده حتی برای کارهای سفارشیتان میتوانید خودتان به فراگیری زبان LISP بپردازید و پس از آن شروع به نوشتن اجزای این برنامه بکنید.
طبق گفتههای ریچارد استالمن میتوان این طور دریافت که این برنامه اولین برنامهی آزاد دنیای GNU بوده است که علاوه بر دانلود رایگان به فروش نیز میرسیده یعنی ریچارد این برنامه را برروی نوار کپی کرده و آن را به قیمتی حدود ۱۰۰ دلار به فروش میرسانده، البته اگر پول خرید این برنامه را نداشتید میتوانستید از روی شبکه دانلود و استفاده کنید.
در نهایت باید گفت که این برنامه از ابتدا با حروف درشت و به صورت EMACS نوشته میشده که در حال حاضر اغلب به صورت Emacs نوشته میشود و ما نیز از هان روش اصیل استفاده خواهیم کرد.
نصب و راه اندازی
برنامهی ایمکس در اغلب توزیعهای اصلی و بزرگ لینوکس یافت میشود. ونیازی به دانلود آن نخواهید داشت کافیست به بخش مدیریت بستههای توزیع لینوکستان بروید و آن را دریافت کنید. البته اگر از سیستم عاملی غیر از گنو/لینوکس نیز استفاده میکنید برای شما نیز چارهای هست، این برنامه برای سیستم عاملهای مکینتاش و ویندوز نیز موجود است. البته مسلم است که برای انواع یونیکس مخصوصا FreeBSD نیز نسخههایی وجود دارد حتی برای آمیگا و آتاری نیز این ابزار را میتوانید دریافت و نصب کنید.
قابل توجه که این برنامه یک نسخهی GNU EMACS دارد و یک نسخهی XEMACS که نسخهی اول مخصوص خط فرمان است و نسخهی دوم به صورت گرافیکی و برای X window طراحی شده است. بنابراین شما میتوانید نسخه ی گرافیکی آن را دریافت و حتی از ماوس برای کارهایتان استفاده کنید.
نسخهی مخصوص ویندوز این برنامه در آدرس ftp://ftp.gnu.org/gnu/windows/emacs/latest قابل دریافت است، البته این نسخهها برای ویندوز های برپایهی DOS ی DOS base windows هستند که شامل 95 و 98و ME می شوند برای ویندوزهای NT base نیز نسخههایی وجود دارد که برروی تمام این ویندوزها قابل اجرا نیستند . نسخهی مکینتاش آن در آدرس http://mac-emacs.sourceforge.net/index.html موجود است ، اگر تمایلی به دریافت یا استفاده از ایمکس در سیستم عاملی جز گنو/لینوکس دارید به آدرسهای یاد شده مراجعه کنید. اما برای اطلاعات بیشتر یا دانلود نسخههای جدید ایمکس میتوانید علاوه بر سایت توزیع خودتان به سایت رسمی این برنامه در آدرس www.gnu.org/software/macs/emacs.html مراجعه کنید.در این سایت علاوه بر آخرین اخبار این برنامه به اطلاعات بیشتری نیز میتوانید دست پیدا کنید. بنابراین حتما به آن سری بزنید و از اطلاعات مفیدش استفاده کنید.
شروع کار با GNU EMACS
قبل از هر چیز باید با نحوه ی کار با ایمکس کمی آشنا شوید. در این برنامه شما دوراه برای انجام هر کار دارید یکی استفاده از منوها ودیگری استفاده از hot-key ها که درواقع استفاده از صفحه کلید را شامل است. در راهنماهای EMACS چه در اینترنت و چه راهنماهای توکار برنامه شما با پنج کلید کلی آشنا میشوید :
C. این همان کلید Control یا Ctrl برروی صفحه کلیدهای معمول در ایران است.
M.این کلید که Meta key خوانده میشود در صفحه کلیدهای معمول در ایران اغلب با نام Alt یا Edit نمایش داده میشود.
ESC.این کلید نیز کلید اسکیپ یا Escape key می باشد.
DEL.کلید Delete یا Baclsapace در اغلب مواقع در این برنامه با نشانهی DEL نمایش داده میشوند.
RETURN. این کلید نیز کلید Enter برروی صفحه کلیدهای معمول است.
ترکیب کلیدها نیز به صورت -C و -M نشان داده میشود . برا نمونه C-h یعنی کلیدهای کنترل و h همزمان فشرده شوند یا M-x یعنی کلیدهای متا و x همزمان فشرده شوند، که همان Alt و x هستند.
اغلب برای اجرای دستورات در EMACS از دو سری hot key استفاده میشود برای نمونه برای ذخیرهی تغییرات از کلیدهای C-x C-s استفاده میشود یعنی کلیدهای کنترل و x با هم فشرده شوند و بعد از رها کردن آنها کلیدهای کنترل و s با ه فشرده شوند. یکبار ازماش کنید بسیار سریع و آسان است.
برای شروع برنامه در خط فرمان یا پنجرهی RUN بنویسید emacs ویا برروی آیکون برنامه برروی دسکتاپ یا منوی میزکارتان کلیک کنید. در صورتی که این برنامه را با محیط گرافیکی آن یعنی XEMACS نصب کرداید اما میخواید در کنسول با آن کار کنید و نیازی به ماوس نمیبینید از دستور emacs -nw استفاده کنید.
برنامهی EMACS آمادهی کار است، برای کار آماده است، برای شروع با استفاده از کلیدهای C-x C-f یک فایل جدید میسازیم. بعد از فشردن این کلیدها در قسمت پایین ایمکس شما متنی به صورت /~ : file نمایش داده میشود. اگر میخواهید فایلی را ویرایش کنید در این قسمت مسیر فایل خود را بنویسید، قابل توجه کاربران تازهکار که علامت tild یا ~ در سیستمهای یونیکس و گنو/لینوکس به معنی دایرکتوری خانگی است. برای نمونه من فایل HTML موجود در مسیر home/tux/work/technoux/emacs.html/ را باز میکنم : file ~/work/technotux/emacs.html خوب این فایل در صفحهی EMACS من نمایش داده خواهد شد. اگر قصد ایجاد یک فایل جدید مثلا به نام letter.txt را در دایرکتوری work دارید در همین قسمت تایپ کنید file :~/work/letter.txt ایکس یک فایل با همین نام در دایرکتوری مذکور ایجاد میکند و یک صفحهی سفید در اختیارتان قرار خواهد داد.
متن خود را بنویسید، پس از اتمام نگارش متن برای ذخیرهی متن از کلیدهای C-x C-s استفاده کنید. برای خروج نیز از کلیدهای C-x C-s
نکته :
برای Cancel کردن دستورات وارد شده از C-g یا کنترل و g استفاده کنید.
حرکت در EMACS
ویش از حرکت پیشنهاد می کنم همزمان با مطالعهی این مقاله یک پنجرهی باز یا یک ترمینال همراه با برنامهی EMACS همراه خود داشته باشید ! بدین ترتیب کلیدها وروشها بسیار سریع تر در خاطرتان خواهند ماند و مقاله برایتان گویاتر خواهد شد.
برای جابجایی در متن داخل برنامهی EMACS علوه بر کلیدهای فلش یا Arrow Keys که به صورت →↑↓← هستند شما میتوانید از هات-کیهای خود ایمکس استفاده کنید. برای رفتن به خط بعد از C-n وبرای رفتن به خط قبل از C-p استفاده کنید . برای آنکه مجموعهی این کلیدها را بتوانید در یک نگاه گرد هم ببینید بهتر در ذهن بسپارید و در مراجعات بعدی مجبور به خواندن تمام متن نباشید کلیدهای مربوطه را در یک جدول برایتان مینویسم :
http://pic.azardl.com/images/99476598622474611295.jpg (http://pic.azardl.com/)
جستجو در EMACS
برای جستجو در ایمکس از کلیدهای C-s برای جستجو روبه جلو یا جستجو از بالا به پایین و از C-r برای جستجو به سمت عقب با صفحات پیشین استفاده کنید. با فشردن این کلیدها در قسمت پایین میتوانید در مقابل نوشتهی Search یا هر نوشتهی شبیه به آن مانند I-Search متن مورد نظرتان را بنویسید. اگر میخواهید جستجو را تکرار کنید از دکمههای C-s C-s برای جستجو رو به جلو واز C-r C-r برای جستجو روبه عقب استفاده کنید. اگر قصد جاگذاری یا Replace دارید از %ESC استفاده کنید.برای پایان به عمل جستجو نیز از RETURN یا کلید Enter استفاده کنید.
جایگزینی متن
فرض کنید در تمام متن کلمهی gnu را با حروف کوچک نوشتهاید و میخواهید به GNU یعنی با حروف بزرگ تبدیل کنید، یافتن و حذف و تایپ دوباره کاریست طاقت فرسا و بسیار حوصله گیر ؛ EMACS نیز یه برنامهی فوق العاده در این زمینه هست پس حتما برای شما چارهای اندیشیده، بله با استفاده از Replace یا جایگزینی میتوانید این کار ا انجام دهید.
همان طور که در قسمت قبل گفته شد برای جایگزینی از % ESC استفاده میشود یعنی شما دکمهی ESC را همزمان با Shift و 5 بگیرید ! Shift و 5 همان علامت % است . برنامه از شما متنی را که باید جایگزین شود میپرسد برای نمونه شما gnu را وارد میکنید و دکمهی Enter یا Return را در صفحه کلیدتان میفشارید، حالا برنامه از شما متن جدید را که باید جایگزین قبلی شود را میخواهد شما متن جدید را وارد و Enter را میفشارید. در اینجا ما GNU را وارد میکنیم، برنامه اولین لغت را پیدا و از شما میپرسد که چه رفتاری باید داشته باشد.
اگر Space را فشار دهید فقط همان لغت جایگزین میشود و برنامه لغت بعدی را پیدا میکند . اما اگر ! را وارد کنید برنامه تمام لغتهای gnu را به GNU تغییر میدهد درواقع زدن ! مانند Replace All میباشد. اگر E را بفشارید میتوانید متن جایگزین را تغییر دهید برای نمونه اگر در قسمتی از متن باید از Gnu استفاده کنید و درحال حاضر قرار است gnu ها با GNU جایگزین شوند شما میتوانید Shift و e را بزنید و بعد متن جدید یعنی Gnu را وارد کنید از این پس gnu با Gnu جایگزین خواهد شد نه با GNU. زمانی که کارتان به اتمام رسید زدن یک RETURN یا Enter کارهارا تمام خواهد کرد.
البته اگر بعد از وارد کرد لغتهایتان نمیدانستید باید چه کنید بعد از زدن متن جایگزین شونده یک علامت سوال یا ? تایپ کنید، گزینههای قابل استفاده بلافاصله نمایان خواهند شد