EMACSCLIENT(1) GNU EMACSCLIENT(1)

emacsclient - به یک Emacs در حال اجرا دستور می‌دهد فایلی را باز کند

emacsclient [options] files ...

این صفحهٔ راهنما دستور emacsclient را به‌طور مختصر شرح می‌دهد. مستندات کامل در قالب GNU Info در دسترس است؛ بخش زیر را ببینید.

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

شما می‌توانید emacsclient را مستقیماً فراخوانی کنید یا اجازه دهید در صورت لزوم، برنامه‌های دیگر آن را برایتان اجرا کنند. در سیستم‌های گنو و یونیکس، بسیاری از برنامه‌ها متغیر محیطی EDITOR (و گاهی VISUAL) را برای به‌دست آوردن دستور مورد استفاده برای ویرایش بررسی می‌کنند. بنابراین، تنظیم این متغیر محیطی روی 'emacsclient' به این برنامه‌ها امکان می‌دهد از یک Emacs در حال اجرا برای ویرایش استفاده کنند. سایر سیستم‌عامل‌ها ممکن است روش‌های مخصوص به خود را برای تعریف ویرایشگر پیش‌فرض داشته باشند.

برای اینکه emacsclient کار کند، به یک Emacs در حال اجرا همراه با سرور نیاز دارید. درون Emacs، توابع “server-start” یا “server-mode” را فراخوانی کنید. (فایل “.emacs” شما در صورت افزودن “(server-start)” یا “(server-mode 1)” به آن، می‌تواند این کار را به‌طور خودکار انجام دهد.)

هنگامی که ویرایش بافر را به پایان رساندید، “C-x #” (“server-edit”) را وارد کنید. این کار فایل را ذخیره کرده و پیامی به برنامهٔ emacsclient می‌فرستد تا به آن بگوید خارج شود. برنامه‌هایی که از EDITOR استفاده می‌کنند، منتظر خروج «ویرایشگر» (در واقع emacsclient) می‌مانند. کلید “C-x #” همچنین سایر درخواست‌های خارجی معلق برای ویرایش فایل‌های گوناگون را بررسی کرده و فایل بعدی را انتخاب می‌کند.

اگر متغیر “server-window” را روی یک پنجره یا یک فریم تنظیم کنید، “C-x #” بافر سرور را در آن پنجره یا در آن فریم نمایش می‌دهد.

بیشتر گزینه‌ها از ساختار نحوی معمول خط فرمان گنو پیروی می‌کنند که در آن گزینه‌های طولانی با دو خط تیره (“-”) آغاز می‌شوند.

+line[:column]
به line (سطر) و column (ستون) مشخص‌شده بروید. اگر column ذکر نشود، به عنوان ستون ۱ در نظر گرفته می‌شود. این گزینه فقط برای فایل بعدی مشخص‌شده اعمال می‌شود.
اگر سرور Emacs در حال اجرا نباشد، به جای آن دستور شل مشخص‌شده را اجرا می‌کند. اگر یک رشتهٔ خالی مشخص شود، دستور “emacs --daemon” را برای شروع Emacs در حالت دیمن (daemon) اجرا کرده و سعی می‌کند به آن متصل شود.

همچنین متغیر محیطی ALTERNATE_EDITOR را ببینید که این گزینه بر آن اولویت دارد.

به جای تلاش برای استفاده از فریم فعلی Emacs، یک فریم جدید ایجاد می‌کند.
در صورت وجود فریم، از فریم موجود استفادهٔ مجدد می‌کند، در غیر این صورت فریم جدیدی می‌سازد.
پارامترهای فریم تازه‌ساخته‌شده را تعیین می‌کند.
به سرور اعلام می‌کند که فایل‌ها را روی DISPLAY داده‌شده نمایش دهد.
فایل‌ها را باز نمی‌کند، بلکه آرگومان‌ها را به عنوان عبارت‌های Emacs Lisp ارزیابی می‌کند.
از فایل پیکربندی TCP با نام FILENAME برای ارتباط استفاده می‌کند. نام فایل‌های نسبی نسبت به “~/.emacs.d/server/” یا “$XDG_CONFIG_HOME/emacs/server/” در نظر گرفته می‌شوند و پیش‌فرض “server” است.

همچنین متغیر محیطی EMACS_SERVER_FILE را ببینید که این گزینه بر آن اولویت دارد.

بدون انتظار برای «پایان» کار شما با بافر در Emacs، فوراً بازمی‌گردد. در صورت ترکیب با --eval، این گزینه نادیده گرفته می‌شود.
مدت زمان انتظار (به ثانیه) برای پاسخ دادن Emacs پیش از صرف‌نظر کردن. مقدار پیش‌فرض 0 است که به معنای انتظار تا ابد می‌باشد.
یک فریم emacsclient را به عنوان یک فریم کلاینت درون پنجرهٔ والد X با شناسهٔ ID باز می‌کند.
از نمایش پیام‌های مربوط به انتظار برای Emacs یا اتصال به سوکت‌های سرور راه دور توسط emacsclient جلوگیری می‌کند.
از نمایش نتایج بازگردانده شده از سرور توسط emacsclient جلوگیری می‌کند. این گزینه بیشتر در ترکیب با --eval مفید است، زمانی که ارزیابی انجام‌شده برای اثر جانبی باشد تا خود نتیجه.
از سوکتی به نام FILENAME برای برقراری ارتباط استفاده می‌کند. نام فایل‌های نسبی نسبت به “$XDG_RUNTIME_DIR/emacs/” یا “$TMPDIR/” در نظر گرفته می‌شوند.

همچنین متغیر محیطی EMACS_SOCKET_NAME را ببینید که این گزینه بر آن اولویت دارد.

یک فریم جدید Emacs در ترمینال جاری باز می‌کند.
مقدار PREFIX را برای افزودن به نام فایل‌ها تنظیم می‌کند تا Emacs بتواند فایل‌ها را روی ماشین‌های راه دور با استفاده از TRAMP پیدا کند. این ویژگی بیشتر هنگام استفاده از سرور Emacs روی یک میزبان راه دور کارایی دارد (چه با استفاده از TCP با --server-file و چه با یک سوکت فورواردشده از طریق SSH).

همچنین متغیر محیطی EMACSCLIENT_TRAMP را ببینید که این گزینه بر آن اولویت دارد.

اطلاعات نسخه را چاپ کرده و خارج می‌شود.
پیام راهنمای نحوهٔ استفاده را چاپ کرده و خارج می‌شود.

در حالت عادی، وضعیت خروج 0 است. اگر emacsclient به دلیل اعلام خطا از سوی Emacs متوقف شود، وضعیت خروج 1 خواهد بود.

اگر سرور Emacs در حال اجرا نباشد، دستور شل موجود در این متغیر محیطی را به جای آن اجرا می‌کند. اگر روی یک رشتهٔ خالی تنظیم شده باشد، دستور “emacs --daemon” را برای شروع Emacs در حالت دیمن اجرا کرده و سعی می‌کند به آن متصل شود. این متغیر توسط گزینهٔ --alternate-editor (در صورت وجود) بازنویسی خواهد شد.
پیشوندی برای اضافه شدن به نام فایل‌ها، به منظور امکان‌پذیر ساختن یافتن فایل‌ها توسط Emacs روی ماشین‌های راه دور با استفاده از TRAMP. این متغیر توسط گزینهٔ --tramp (در صورت وجود) بازنویسی خواهد شد.
برای یافتن محل یک سرور Emacs مبتنی بر TCP، این فایل بررسی می‌شود. نام فایل‌های نسبی نسبت به “~/.emacs.d/server/” یا “$XDG_CONFIG_HOME/emacs/server/” هستند و مقدار پیش‌فرض “server” است. این متغیر توسط گزینهٔ --server-file (در صورت وجود) بازنویسی خواهد شد.
نام فایل سوکت مورد استفاده برای برقراری ارتباط با سرور Emacs. نام فایل‌های نسبی نسبت به “$XDG_RUNTIME_DIR/emacs/” یا “$TMPDIR/” هستند. این متغیر توسط گزینهٔ --socket-name (در صورت وجود) بازنویسی خواهد شد.

این برنامه به‌طور کامل در Using Emacs as a Server که از طریق سامانهٔ Info در دسترس است، مستند شده است.

متغیرهای محیطی _XDG با جزئیات کامل در مشخصات دایرکتوری پایه XDG شرح داده شده‌اند.

این صفحهٔ راهنما در ابتدا توسط Stephane Bortzmeyer <bortzmeyer@debian.org> برای سیستم گنو/لینوکس دبیان نوشته شده بود، اما منحصر به آن سیستم نیست.

این صفحهٔ راهنما در مالکیت عمومی (Public Domain) قرار دارد.

2024-08-20 GNU Emacs