| EMACS(1) | GNU | EMACS(1) |
نام (NAME)
emacs - ویرایشگر ایمکس پروژه گنو
خلاصه دستور (SYNOPSIS)
emacs [ سوییچهای خط فرمان ] [ فایلها ... ]
توضیحات (DESCRIPTION)
GNU Emacs نسخهای از Emacs است که توسط ریچارد استالمن (Richard Stallman)، نویسنده نسخه اصلی (PDP-10) Emacs، نوشته شده است. عملکرد کاربری GNU Emacs شامل تمام قابلیتهای سایر ویرایشگرها بوده و به دلیل اینکه دستورات ویرایشی آن با زبان لیسپ (Lisp) نوشته شدهاند، بهسادگی قابل گسترش است.
مستندات اصلی GNU Emacs در «راهنمای گنو ایمکس» (GNU Emacs Manual) قرار دارد که میتوانید آن را با استفاده از Info، چه از داخل Emacs و چه به صورت یک برنامه مستقل، مطالعه کنید. لطفاً برای مستندات کامل و بهروز به آنجا مراجعه نمایید. این صفحه راهنما تنها زمانی بهروزرسانی میشود که فردی داوطلب انجام این کار شود.
Emacs دارای سامانه راهنمای تعاملی گستردهای است، اما این سامانه فرض میکند که شما با نحوه کار با پنجرهها و بافرهای Emacs آشنایی دارید. کلیدهای CTRL-h یا F1 شما را وارد بخش راهنما میکنند. آموزش مقدماتی (CTRL-h t) یک آموزش تعاملی را آغاز میکند تا اصول اولیه Emacs را به سرعت به مبتدیان بیاموزد. جستجوی راهنما (CTRL-h a) به شما کمک میکند دستوری را پیدا کنید که نام آن با یک الگوی مشخص مطابقت دارد؛ کلید راهنما (CTRL-h k) دنباله کلیدهای دادهشده را شرح میدهد؛ و تابع راهنما (CTRL-h f) تابع لیسپ مشخصشده را توضیح میدهد.
بستههای اختصاصی پرشمار GNU Emacs امکاناتی نظیر خواندن نامههای الکترونیکی (RMail) و ارسال آنها (Mail)، ویرایش طرحکلی (Outline)، کامپایل کد (Compile)، اجرای زیرپوستهها در پنجرههای Emacs (Shell)، اجرای حلقه خواندن-ارزیابی-چاپ لیسپ (Lisp-Interaction-Mode)، رواندرمانی خودکار (Doctor) و بسیاری موارد دیگر را فراهم میکنند.
گزینههای عمومی Emacs
گزینههای زیر کاربرد عمومی دارند:
- file
- ویرایش file.
- --file=file, --find-file=file, --visit=file
- همانند مشخص کردن مستقیم file به عنوان یک آرگومان است.
- +number
- رفتن به سطر مشخصشده با number (بین علامت «+» و عدد فاصله نگذارید). این گزینه فقط روی فایل مشخصشده بعدی اعمال میشود.
- +line:column
- رفتن به سطر line و ستون column مشخصشده.
- --chdir=directory
- تغییر دایرکتوری جاری به directory.
- -q, --no-init-file
- عدم بارگذاری فایل راهانداز (init file).
- -nl, --no-shared-memory
- عدم استفاده از حافظه اشتراکی.
- --no-site-file
- عدم بارگذاری فایل راهانداز سراسری سیستم.
- -nsl, --no-site-lisp
- عدم افزودن دایرکتوریهای site-lisp به مسیر بارگذاری load-path.
- --no-desktop
- عدم بارگذاری محیط میزکار ذخیرهشده.
- -Q, --quick
- مشابه ترکیبی از «-q --no-site-file --no-splash». همچنین از پردازش منابع سامانه X نیز صرفنظر میکند.
- --no-splash
- عدم نمایش صفحه آغازین (splash) هنگام شروع به کار.
- --debug-init
- فعالسازی اشکالزدای لیسپ Emacs هنگام پردازش فایل راهانداز کاربر ~/.emacs. این گزینه برای عیبیابی مشکلات موجود در فایل راهانداز سودمند است.
- -u user, --user=user
- بارگذاری فایل راهانداز متعلق به user بهجای فایل خودتان.
- --init-directory=directory
- راهاندازی ایمکس با تنظیم user-emacs-directory روی directory.
- -t file, --terminal=file
- استفاده از file مشخصشده به عنوان ترمینال بهجای stdin/stdout. این گزینه باید نخستین آرگومان مشخصشده در خط فرمان باشد.
- --daemon[=name], --bg-daemon[=name]
- راهاندازی Emacs به عنوان دیمن (daemon)، که سرور Emacs را فعال کرده و اتصال را از ترمینال قطع میکند. سپس میتوانید از دستور emacsclient (ببینید emacsclient(1)) برای اتصال به سرور (با نام اختیاری name) استفاده کنید.
- --fg-daemon[=name]
- مشابه «--bg-daemon»، اما اتصال را از ترمینال قطع نمیکند.
- --version
- نمایش اطلاعات نسخه Emacs و خروج.
- --help
- نمایش راهنما و خروج.
گزینههای زیر مربوط به زبان لیسپ (Lisp) هستند (این گزینهها به ترتیب مواجهه پردازش میشوند):
- -f function, --funcall=function
- اجرای تابع لیسپ function.
- -l file, --load=file
- بارگذاری کدهای لیسپ موجود در فایل file.
- --eval=expr, --execute=expr
- ارزیابی عبارت لیسپ expr.
گزینههای زیر هنگام اجرای Emacs به عنوان یک ویرایشگر دستهای (batch mode) کاربرد دارند:
- --batch
- ویرایش در حالت دستهای. ویرایشگر پیامها را به خروجی خطای استاندارد (stderr) ارسال میکند. برای مشخص کردن فایلهایی که باید اجرا شوند و توابعی که باید فراخوانی گردند، باید از گزینههای -l و -f استفاده کنید.
- --script file
- اجرای file به عنوان یک اسکریپت Emacs Lisp.
- --insert=file
- درج محتویات file در بافر جاری.
- --kill
- خروج از Emacs هنگامی که در حالت دستهای قرار دارد.
- -L dir, --directory=dir
- افزودن dir به فهرست دایرکتوریهایی که Emacs در آنها به دنبال فایلهای لیسپ میگردد.
استفاده از Emacs با سامانه پنجره X
Emacs برای کارکرد بهینه با سامانه پنجره X (سامانه X Window) هماهنگ شده است. اگر Emacs را از محیط X اجرا کنید، پنجره اختصاصی خود را در X برای نمایش باز میکند. احتمالاً مایل خواهید بود که ویرایشگر را به عنوان یک فرایند پسزمینه اجرا کنید تا بتوانید همچنان از پنجره اولیه خود استفاده کنید.
Emacs میتواند با سوییچهای X زیر آغاز به کار کند:
- --name=name
- تعیین نامی که باید به پنجره اولیه Emacs اختصاص یابد. این گزینه هم جستجوی منابع X و هم عنوان پنجره را کنترل میکند.
- --no-x-resources
- عدم بارگذاری منابع سامانه X.
- -T name, --title=name
- تعیین عنوان برای پنجره اولیه X.
- -r, -rv, --reverse-video
- نمایش پنجره Emacs در حالت تصویر معکوس (reverse video).
- -fn font, --font=font
- تنظیم قلم
پنجره Emacs
روی قلم
مشخصشده
با font.
قلمهای
مختلف X را
در
دایرکتوری
/usr/lib/X11/fonts خواهید
یافت. توجه
داشته
باشید که Emacs
تنها
قلمهای با
عرض ثابت (fixed width)
را
میپذیرد.
طبق
قراردادهای
نامگذاری
قلم در X11 Release 4،
هر قلمی که
در فیلد
یازدهم نام
آن مقدار "m"
یا "c" باشد،
یک فونت با
عرض ثابت
است. علاوه
بر این،
قلمهایی
که نام
آنها به
شکل widthxheight
است نیز
معمولاً
عرض ثابت
دارند،
همانند قلم
fixed. برای
اطلاعات
بیشتر xlsfonts(1)
را ببینید.
هنگام مشخص کردن قلم، اطمینان حاصل کنید که بین سوییچ و نام قلم یک فاصله قرار دادهاید.
- --xrm=resources
- تنظیم منابع X اضافی.
- --color, --color=mode
- تغییر حالت رنگ برای ترمینالهای متنی؛ mode بهطور پیشفرض "auto" است و همچنین میتواند "never"، "auto"، "always" یا نام یک حالت مانند "ansi8" باشد.
- -bw pixels, --border-width=pixels
- تنظیم ضخامت حاشیه پنجره Emacs بر حسب تعداد پیکسلهای مشخصشده با pixels. بهطور پیشفرض یک پیکسل در هر طرف پنجره است.
- -ib pixels, --internal-border=pixels
- تنظیم ضخامت حاشیه داخلی پنجره بر حسب تعداد پیکسلهای مشخصشده با pixels. بهطور پیشفرض یک پیکسل فاصله داخلی در هر طرف پنجره است.
- -g geometry, --geometry=geometry
- تنظیم عرض، ارتفاع و موقعیت مکانی پنجره Emacs طبق مشخصات ارائهشده. مشخصات هندسه در قالب استاندارد X است؛ برای اطلاعات بیشتر X(7) را ببینید. عرض و ارتفاع بر حسب کاراکتر مشخص میشوند؛ مقدار پیشفرض برای فریمهای گرافیکی عرض ۸۰ و ارتفاع بین ۳۵ تا ۴۰ است که به سیستمعامل و مدیر پنجره بستگی دارد. برای اطلاعات بیشتر درباره چگونگی تعامل اندازه پنجره با فعال یا غیرفعال کردن نوار ابزار، نوار تب و نوار منو، بخش «Options for Window Size and Position» را در راهنمای Emacs ببینید.
- -lsp pixels, --line-spacing=pixels
- فاصله اضافی بین سطرها بر حسب پیکسل.
- -vb, --vertical-scroll-bars
- فعالسازی نوارهای پیمایش عمودی.
- -fh, --fullheight
- تنظیم ارتفاع فریم اول به اندازه ارتفاع کامل صفحه نمایش.
- -fs, --fullscreen
- تمامصفحه کردن فریم اول.
- -fw, --fullwidth
- تنظیم عرض فریم اول به اندازه پهنای کامل صفحه نمایش.
- -mm, --maximized
- بیشینهسازی فریم اول، مانند «-fw -fh».
- -fg color, --foreground-color=color
- در
نمایشگرهای
رنگی،
تنظیم رنگ
متن.
از دستور M-x list-colors-display برای مشاهده فهرستی از نامهای رنگ مجاز استفاده کنید.
- -bg color, --background-color=color
- در نمایشگرهای رنگی، تنظیم رنگ پسزمینه پنجره.
- -bd color, --border-color=color
- در نمایشگرهای رنگی، تنظیم رنگ حاشیه پنجره.
- -cr color, --cursor-color=color
- در نمایشگرهای رنگی، تنظیم رنگ مکاننمای متن پنجره.
- -ms color, --mouse-color=color
- در نمایشگرهای رنگی، تنظیم رنگ نشانگر ماوس در پنجره.
- -d displayname, --display=displayname
- ایجاد پنجره Emacs روی نمایشگر تعیینشده با displayname. این باید نخستین گزینه مشخصشده در خط فرمان باشد.
- -nbi, --no-bitmap-icon
- عدم استفاده از تصویر gnu برای آیکون Emacs.
- --iconic
- راهاندازی Emacs در حالت کوچکشده (آیکون).
- -nbc, --no-blinking-cursor
- غیرفعالسازی چشمکزدن مکاننما.
- --parent-id=xid
- تنظیم پنجره والد.
- -nw, --no-window-system
- دستور به Emacs برای عدم ایجاد فریم گرافیکی. اگر این سوییچ را هنگام فراخوانی Emacs از داخل یک پنجره xterm(1) به کار ببرید، نمایش در همان پنجره انجام میشود.
- -D, --basic-display
- این گزینه بسیاری از ویژگیهای نمایش را غیرفعال میکند؛ از آن برای عیبیابی Emacs استفاده نمایید.
شما میتوانید مقادیر پیشفرض X را برای پنجرههای Emacs در فایل .Xresources خود تعیین کنید (ببینید xrdb(1)). از قالب زیر استفاده کنید:
- emacs.keyword:value
که در آن value مقدار پیشفرض keyword را تعیین میکند. Emacs به شما امکان میدهد مقادیر پیشفرض را برای کلیدواژههای زیر تنظیم کنید:
- background (کلاس Background)
- در نمایشگرهای رنگی، رنگ پسزمینه پنجره را تعیین میکند.
- bitmapIcon (کلاس BitmapIcon)
- اگر مقدار bitmapIcon روی on تنظیم شده باشد، پنجره به شکل آیکون نمادین کوچک میشود.
- borderColor (کلاس BorderColor)
- در نمایشگرهای رنگی، رنگ حاشیه پنجره را تعیین میکند.
- borderWidth (کلاس BorderWidth)
- ضخامت حاشیه پنجره را بر حسب پیکسل تعیین میکند.
- cursorColor (کلاس Foreground)
- در نمایشگرهای رنگی، رنگ مکاننمای متنی پنجره را تعیین میکند.
- cursorBlink (کلاس CursorBlink)
- تعیین میکند که آیا مکاننما چشمک بزند یا خیر. مقدار پیشفرض on است. از off یا false برای غیرفعال کردن چشمکزدن مکاننما استفاده کنید.
- font (کلاس Font)
- قلم متنی پنجره را تنظیم میکند.
- foreground (کلاس Foreground)
- در نمایشگرهای رنگی، رنگ متن پنجره را مشخص میکند.
- fullscreen (کلاس Fullscreen)
- اندازه تمامصفحه مورد نظر. مقدار میتواند یکی از fullboth، maximized، fullwidth یا fullheight باشد که به ترتیب با گزینههای خط فرمان «-fs»، «-mm»، «-fw» و «-fh» مطابقت دارند. توجه داشته باشید که این مقدار تنها روی فریم اولیه اعمال میشود.
- geometry (کلاس Geometry)
- هندسه پنجره Emacs را تنظیم میکند (همانطور که در بالا توضیح داده شد).
- iconName (کلاس Title)
- نام آیکون پنجره Emacs را تعیین میکند.
- internalBorder (کلاس BorderWidth)
- ضخامت حاشیه داخلی پنجره را بر حسب پیکسل تنظیم میکند.
- lineSpacing (کلاس LineSpacing)
- فاصله اضافی بین سطرها بر حسب پیکسل.
- اگر on باشد، به فریمها نوار منو اختصاص میدهد؛ اگر off باشد فاقد نوار منو خواهند بود. برای آگاهی از نحوه کنترل ظاهر نوار منو، بخشهای «Lucid Resources» و «Motif Resources» را در راهنمای Emacs ببینید.
- minibuffer (کلاس Minibuffer)
- اگر روی none تنظیم شود، مینیبافر درون این فریم ایجاد نمیشود؛ بلکه از یک فریم مجزا برای مینیبافر استفاده خواهد کرد.
- paneFont (کلاس Font)
- نام قلم برای عناوین پنل منو در نسخههای بدون تولکیت از Emacs.
- pointerColor (کلاس Foreground)
- در نمایشگرهای رنگی، رنگ نشانگر ماوس را تنظیم میکند.
- privateColormap (کلاس PrivateColormap)
- اگر on باشد، از یک نقشه رنگی اختصاصی استفاده میکند، در صورتی که کلاس پیشفرض بصری PseudoColor بوده و Emacs از آن استفاده کند.
- reverseVideo (کلاس ReverseVideo)
- اگر مقدار reverseVideo روی on تنظیم شده باشد، پنجره در حالت تصویر معکوس نمایش داده میشود.
- screenGamma (کلاس ScreenGamma)
- تصحیح گامای رنگها، معادل پارامتر فریم "screen-gamma".
- scrollBarWidth (کلاس ScrollBarWidth)
- عرض نوار پیمایش بر حسب پیکسل، معادل پارامتر فریم "scroll-bar-width".
- selectionFont (کلاس SelectionFont)
- نام قلم برای گزینههای منوی بازشو در نسخههای بدون تولکیت از Emacs. (برای نسخههای دارای تولکیت، بخشهای «Lucid Resources» و «Motif Resources» را در راهنمای Emacs ببینید.)
- selectionTimeout (کلاس SelectionTimeout)
- مدت زمان انتظار بر حسب میلیثانیه برای دریافت پاسخ انتخاب. مقدار 0 به معنای انتظار تا هر زمان لازم است.
- synchronous (کلاس Synchronous)
- اگر on باشد، Emacs در حالت همگام (synchronous) اجرا میشود. حالت همگام برای اشکالزدایی مشکلات سامانه X بسیار سودمند است.
- title (کلاس Title)
- عنوان پنجره Emacs را تنظیم میکند.
- toolBar (کلاس ToolBar)
- تعداد سطرهای رزرو شده برای نوار ابزار.
- tabBar (کلاس TabBar)
- تعداد سطرهای رزرو شده برای نوار تبها.
- useXIM (کلاس UseXIM)
- در صورت تنظیم روی false یا off، استفاده از روشهای ورودی X (XIM) را غیرفعال میکند.
- verticalScrollBars (کلاس ScrollBars)
- اگر on باشد به فریمها نوار پیمایش اختصاص میدهد؛ اگر off باشد نوارهای پیمایش را پنهان میکند.
- visualClass (کلاس VisualClass)
- کلاس بصری (visual) مورد استفاده سامانه X را مشخص میکند. این مورد به X میگوید که چگونه رنگها را مدیریت کند. مقدار باید با یکی از موارد TrueColor، PseudoColor، DirectColor، StaticColor، GrayScale و StaticGray شروع شود و به دنبال آن -depth, بیاید که در آن depth تعداد صفحههای رنگی است.
دفترچههای راهنما (MANUALS)
شما
میتوانید
نسخههای
چاپی
«راهنمای
گنو ایمکس»
(GNU Emacs Manual) را از
بنیاد
نرمافزار
آزاد که
توسعهدهنده
نرمافزارهای
گنو است
سفارش دهید.
فروشگاه
برخط را در
نشانی https://shop.fsf.org
مشاهده
کنید.
ممکن است
مدیر سیستم
محلی شما
نیز
نسخههایی
از آن را در
دسترس
داشته باشد.
همانند
تمام
نرمافزارها
و انتشارات
بنیاد
نرمافزار
آزاد،
همگان مجاز
به تهیه و
توزیع
نسخههای
راهنمای Emacs
هستند. کد
منبع Texinfo این
دفترچه
راهنما نیز
در توزیع
منبع Emacs
گنجانده
شده است.
فایلها (FILES)
/usr/local/share/info — فایلهای مرورگر مستندات Info. متن کامل راهنمای مرجع Emacs در یک ساختار درختی مناسب گنجانده شده است. این شامل «راهنمای مرجع لیسپ ایمکس» (Emacs Lisp Reference Manual)، مناسب برای علاقهمندان به برنامهنویسی با زبان الحاقی Emacs Lisp، و «مقدمهای بر برنامهنویسی در Emacs Lisp» میشود.
/usr/local/share/emacs/$VERSION/lisp — فایلهای منبع لیسپ و فایلهای کامپایلشدهای که بیشتر دستورات ویرایشی را تعریف میکنند. برخی از قبل بارگذاری شدهاند؛ بقیه در صورت نیاز به صورت خودکار از این دایرکتوری بارگذاری میشوند.
/usr/local/libexec/emacs/$VERSION/$ARCH — برنامههای گوناگونی که همراه با GNU Emacs استفاده میشوند.
/usr/local/share/emacs/$VERSION/etc — فایلهای گوناگون حاوی اطلاعات.
/usr/local/share/emacs/$VERSION/etc/DOC.* — شامل رشتههای مستندات مربوط به توابع اولیه (primitives) لیسپ و توابع از پیش بارگذاریشده لیسپ در GNU Emacs است. آنها در اینجا ذخیره میشوند تا از حجم فایل اصلی Emacs کاسته شود.
گزارش اشکالات (REPORTING BUGS)
یک لیست پستی به نشانی bug-gnu-emacs@gnu.org برای گزارش باگها و اصلاحات Emacs وجود دارد. اما پیش از گزارش هر موردی به عنوان باگ، لطفاً اطمینان حاصل کنید که واقعاً یک اشکال است، نه یک سوءتفاهم یا یک ویژگی عمدی نرمافزار. ما از شما میخواهیم بخش «Reporting Bugs» در راهنمای Emacs را برای دریافت نکاتی درباره چگونگی و زمان گزارش اشکالات مطالعه کنید. همچنین، شماره نسخه Emacs در حال اجرا را در تمام گزارشهای ارسالی درج نمایید. معمولاً اشکالاتی که بتوان آنها را مجزا و تفکیک کرد برطرف میشوند؛ بنابراین به نفع شماست که آنها را بهگونهای گزارش دهید که بهراحتی قابل بازتولید باشند.
انتظار پاسخ شخصی به گزارش اشکال را نداشته باشید. هدف از گزارش باگها رفع آنها برای همگان در نسخه بعدی است. برای دریافت راهنمایی و پشتیبانی شخصی، دایرکتوری خدمات را در نشانی https://www.fsf.org/resources/service برای مشاهده فهرست افرادی که این خدمات را ارائه میدهند بررسی کنید.
لطفاً به جز گزارش باگها، پیام دیگری به این لیست پستی ارسال نکنید. برای مشاهده سایر لیستهای پستی Emacs، نشانی https://savannah.gnu.org/mail/?group=emacs را ببینید.
آزادیها و عدم محدودیت (UNRESTRICTIONS)
Emacs آزاد است؛ هر فردی میتواند نسخههایی از Emacs را تحت شرایط ذکرشده در مجوز عمومی همگانی گنو (GNU GPL) به هر فرد دیگری بازتوزیع کند. نسخهای از این مجوز همراه با هر نسخه از Emacs ارائه شده و در راهنمای مرجع نیز آمده است.
نسخههای Emacs گاهی ممکن است همراه با توزیعهای سیستمهای یونیکس بستهبندی شوند، اما هرگز مشمول هیچ مجوزی که آن سیستمها را پوشش میدهد قرار نمیگیرد. چنین شمول مجوزی، شرایطی را که بر اساس آن توزیع مجاز شمرده شده است نقض میکند. در حقیقت، هدف اصلی مجوز عمومی همگانی گنو این است که همگان را از افزودن هرگونه محدودیت دیگری به بازتوزیع Emacs منع کند.
ریچارد استالمن شما را تشویق میکند که Emacs را بهبود بخشیده و گسترش دهید، و تأکید دارد که افزودههای خود را به کتابخانه گنو اهدا کنید. در نهایت پروژه گنو (GNU: مخفف Gnu's Not Unix) یک جایگزین کامل برای یونیکس خواهد بود. همگان در استفاده، کپی، مطالعه و تغییر سیستم گنو آزاد خواهند بود.
همچنین ببینید (SEE ALSO)
emacsclient(1), etags(1), X(7), xlsfonts(1), xterm(1), xrdb(1)
نویسندگان (AUTHORS)
Emacs توسط ریچارد استالمن و بنیاد نرمافزار آزاد (Free Software Foundation) نوشته شده است. برای مشاهده جزئیات دستاندرکاران و قدردانیها، راهنمای GNU Emacs را ببینید.
کپیرایت و تکثیر (COPYING)
حق نشر 1995–2026 متعلق به بنیاد نرمافزارهای آزاد (Free Software Foundation, Inc) است.
اجازه ساخت و توزیع نسخههای عین متن (verbatim) این سند داده میشود، به شرطی که اعلان حق نشر و این اعلان مجوز روی تمامی نسخهها حفظ شوند.
اجازه کپی و توزیع نسخههای تغییریافته این سند تحت شرایط کپی عین متن داده میشود، به شرطی که کل اثر اشتقاقی حاصل تحت شرایط مجوزی یکسان با این مجوز توزیع گردد.
اجازه کپی و توزیع ترجمههای این سند به زبانی دیگر، تحت شرایط فوق برای نسخههای تغییریافته داده میشود، به این استثنا که این اعلان مجوز میتواند در قالبی از ترجمه که توسط بنیاد نرمافزار آزاد تایید شده است بیان گردد.
هیچگونه ضمانتی (NO WARRANTY) تا میزانی که قانون اجازه دهد وجود ندارد.
| 2024-07-18 | GNU Emacs 31.1 |