.Dd June 15, 2021 .Dt KAK 1 .Os .Sh "نام (NAME)" .Nm kak .Nd یک ویرایشگر کد الهام‌گرفته از vim و مبتنی بر گزینش . .Sh "خلاصه دستور (SYNOPSIS)" .Nm .Op Fl d .Op Fl n .Op Fl ro .Op Fl c Ar session_id | Fl s Ar session_id .Op Fl ui Ar ui_type .Op Fl e Ar command .Op Fl E Ar command .Op Sy + Ns Ar line Ns Oo Sy \&: Ns Ar column Oc | Sy +: .Op Ar file ... . .Nm .Fl f Ar keys .Op Fl q .Op Fl i Ar suffix .Op Ar file ... . .Nm .Fl p Ar session_id . .Nm .Fl l .Nm .Fl clear . .Nm .Fl version . .Nm .Fl help . .Sh "توضیحات (DESCRIPTION)" .Sy Kakoune یک ویرایشگر کد است که به شدت از .Xr vim 1 و .Xr vi 1 الهام گرفته شده است. از این رو، بیشتر دستورهای آن مشابه دستورهای .Xr vi 1 است و از مدل .Dq فشردن کلیدها به عنوان یک زبان ویرایش متن آن بهره می‌برد. .Pp .Sy Kakoune در دو حالت عادی (normal) و درج (insertion) کار می‌کند. در حالت درج، کلیدها مستقیماً در بافر فعلی درج می‌شوند. در حالت عادی، از کلیدها برای دستکاری گزینش فعلی و ورود به حالت درج استفاده می‌شود. .Pp .Sy Kakoune تمرکز بالایی بر تعاملی‌بودن دارد. بیشتر دستورها نتایج فوری و فزاینده ارائه می‌دهند، در حالی که از نظر تعداد فشردن کلیدها همچنان با vim رقابت می‌کنند. .Pp .Sy Kakoune بر روی گزینش‌ها کار می‌کند، که محدوده‌هایی جهت‌دار و شامل شونده از نویسه‌ها هستند. گزینش‌ها دارای یک لنگر (anchor) و یک مکان‌نما (cursor) هستند. بیشتر دستورها هر دوی آن‌ها را جابه‌جا می‌کنند، مگر هنگام گسترش گزینش، که در آن نویسه لنگر ثابت می‌ماند و مکان‌نما جابه‌جا می‌شود. .Pp گزینه‌ها به شرح زیر هستند: .Bl -tag -width indent .It Fl help نمایش پیام راهنما و خروج. . .It Fl version نمایش نگارش Kakoune و خروج. . .It Fl n بارگذاری نکردن kakrc سیستم .Pq اغلب Pa /usr/share/kak/kakrc . . .It Fl l فهرست کردن نشست‌های موجود. . .It Fl d اجرا به عنوان یک نشست بدون واسط کاربر .Pq نیازمند Fl s . . .It Fl e Ar command اجرای .Ar command پس از مرحله راه‌اندازی کلاینت. . .It Fl E Ar command اجرای .Ar command پس از مرحله راه‌اندازی سرور. . .It Fl f Ar keys اجرای Kakoune در .Sq حالت فیلتر ، مانند .Xr sed 1 . برای ورودی استاندارد و هر فایلی که در خط فرمان نام برده شده است، کل بافر انتخاب می‌شود (مانند .Li % ) و سپس .Ar keys اجرا می‌شوند. نسخه فیلترشده ورودی استاندارد در خروجی استاندارد نوشته می‌شود. هر فایلی که در خط فرمان ذکر شده باشد، درجا ویرایش می‌شود، اما اگر .Fl i مشخص شده باشد، Kakoune یک نسخه پشتیبان از نسخه اصلی تهیه می‌کند. . .It Fl i Ar suffix تهیه نسخه پشتیبان از فایل‌هایی که فیلتر بر آن‌ها اعمال شده است، با استفاده از پسوند داده‌شده. . .It Fl q هنگام کار در .Sq حالت فیلتر ، هیچ خطایی چاپ نشود. . .It Fl p Ar session_id ارسال دستورهای نوشته‌شده در ورودی استاندارد به نشست .Ar session_id . . .It Fl c Ar session_id اتصال به نشست داده‌شده .Ar session_id . . .It Fl s Ar session_id تنظیم نام نشست فعلی روی .Ar session_id . . .It Fl ui Ar type انتخاب نوع واسط کاربر، که می‌تواند .Em terminal ، .Em dummy یا .Em json باشد. . .It Fl clear حذف نشست‌هایی که در وضعیتی نادرست پایان یافته‌اند .Pq برای نمونه پس از یک فروپاشی . . .It Fl ro آغاز در .Em حالت فقط‌خواندنی ، هیچ‌یک از بافرهای بازشده روی دیسک نوشته نخواهند شد. . .It Sy + Ns Ar line Ns Oo Sy \&: Ns Ar column Oc | Sy +: تعیین یک خط و ستون هدف برای اولین فایل. هنگامی که پس از علامت مثبت تنها یک دونقطه بیاید، مکان‌نما به آخرین خط فایل فرستاده می‌شود. . .It Ar file ... یک یا چند .Ar file برای ویرایش. .El . .Sh "محیط (ENVIRONMENT)" .Bl -tag -width 6n .It Ev KAKOUNE_POSIX_SHELL پوسته POSIX مورد استفاده برای بسط .Em %sh{...} را لغو و جایگزین می‌کند، که در صورت تعیین‌نشدن، .Pa /bin/sh .Pq Xr sh 1 است. . .It Ev KAKOUNE_CONFIG_DIR مکان دایرکتوری حاوی پیکربندی کاربر Kakoune را لغو و جایگزین می‌کند. در صورت تعیین‌نشدن، از .Pa $XDG_CONFIG_HOME/kak استفاده می‌شود. . .It Ev KAKOUNE_RUNTIME مکان دایرکتوری حاوی فایل‌های پشتیبانی Kakoune را لغو و جایگزین می‌کند. در صورت تعیین‌نشدن، مکان از روی مکان فایل باینری Kakoune تعیین می‌شود. . .It Ev XDG_CONFIG_HOME مسیر دایرکتوری پیکربندی کاربر. در صورت تعیین‌نشدن، از .Pa $HOME/.config استفاده می‌شود. . .It Ev XDG_RUNTIME_DIR مسیر سوکت‌های نشست کاربر. در صورت تعیین‌نشدن، از .Pa $TMPDIR/kakoune استفاده می‌شود. .El . .Sh "فایل‌ها (FILES)" در مسیرهای مستندشده در زیر، .Pa به دایرکتوری زمان اجرا اشاره دارد، که مقدار آن در صورت تعیین‌نشدن .Pa $KAKOUNE_RUNTIME نسبت به مسیر مکان فایل باینری .Nm تعیین می‌شود: .Pa = .Pa /../share/kak . . .Pp اگر با سوئیچ .Fl n آغاز به کار نکرده باشد، .Nm ابتدا .Pa /kakrc را بارگذاری می‌کند، که آن هم به نوبه خود فایل‌های اضافی زیر را بارگذاری خواهد کرد: . .Bl -bullet .It اگر دایرکتوری .Pa $KAKOUNE_CONFIG_DIR/autoload وجود داشته باشد، تمام فایل‌های .Pa *.kak درون آن و زیردایرکتوری‌هایش را به صورت بازگشتی بارگذاری می‌کند. . .It اگر وجود نداشته باشد، به دایرکتوری بارگذاری خودکار سراسری سیستم در .Pa /autoload رجوع کرده و تمام فایل‌ها را به روش مشابهی به صورت بازگشتی بارگذاری می‌کند. . .It .Pa /kakrc.local ، اگر وجود داشته باشد؛ این یک پیکربندی سراسری سیستمی تعریف‌شده توسط کاربر است. . .It .Pa $KAKOUNE_CONFIG_DIR/kakrc ، اگر وجود داشته باشد؛ این پیکربندی کاربر است. . .El . .Pp در نتیجه، اگر دایرکتوری .Pa $KAKOUNE_CONFIG_DIR/autoload وجود داشته باشد، تنها اسکریپت‌های ذخیره‌شده درون آن دایرکتوری بارگذاری خواهند شد \(em فایل‌های توکار .Pa *.kak بارگذاری نخواهند شد. . .Pp کاربرانی که همچنان می‌خواهند اسکریپت‌های توکار همراه با اسکریپت‌های خودشان بارگذاری شوند، می‌توانند یک پیوند نمادین به .Pa /autoload .Pq یا به اسکریپت‌های درون آن به صورت جداگانه در دایرکتوری پیکربندی کاربر خود ایجاد کنند: . .Pp .Dl ln -s \fI\fR/autoload "${XDG_CONFIG_HOME:-$HOME/.config}"/kak/autoload . .Sh "مثال‌ها (EXAMPLES)" .Bl -tag -width 6n .It ویرایش یک فایل: .Nm .Pa /path/to/file . .It ویرایش چندین فایل (چندین بافر ایجاد خواهد شد): .Nm .Pa ./file1.txt .Pa /path/to/file2.c . .It افزودن یک modeline به ابتدای چندین فایل که tabstop را تنظیم می‌کند: .Nm .Fl f Qq ggO// kak: tabstop=8 .Pa *.c .El . .Sh "همچنین ببینید (SEE ALSO)" برای مستندات برخط کامل، پس از شروع .Nm از دستور .Ic :doc استفاده کنید. . .Pp .Lk https://github.com/mawww/kakoune/wiki ویکی Kakoune . .Pp .Lk https://kakoune.org وب‌سایت اصلی Kakoune . .Pp .Xr vi 1 , .Xr vim 1 , .Xr sam 1plan9 . . .Sh "نویسندگان (AUTHORS)" .An Maxime Coste Aq Mt frrrwww@gmail.com و بسیاری دیگر.