KAK(1) General Commands Manual KAK(1)

kak — یک ویرایشگر کد الهام‌گرفته از vim و مبتنی بر گزینش

kak [-d] [-n] [-ro] [-c session_id | -s session_id] [-ui ui_type] [-e command] [-E command] [+line[:column] | +:] [file ...] kak -f keys [-q] [-i suffix] [file ...] kak -p session_id kak -l kak -clear kak -version kak -help

Kakoune یک ویرایشگر کد است که به شدت از vim(1) و vi(1) الهام گرفته شده است. از این رو، بیشتر دستورهای آن مشابه دستورهای vi(1) است و از مدل “فشردن کلیدها به عنوان یک زبان ویرایش متن” آن بهره می‌برد.

Kakoune در دو حالت عادی (normal) و درج (insertion) کار می‌کند. در حالت درج، کلیدها مستقیماً در بافر فعلی درج می‌شوند. در حالت عادی، از کلیدها برای دستکاری گزینش فعلی و ورود به حالت درج استفاده می‌شود.

Kakoune تمرکز بالایی بر تعاملی‌بودن دارد. بیشتر دستورها نتایج فوری و فزاینده ارائه می‌دهند، در حالی که از نظر تعداد فشردن کلیدها همچنان با vim رقابت می‌کنند.

Kakoune بر روی گزینش‌ها کار می‌کند، که محدوده‌هایی جهت‌دار و شامل شونده از نویسه‌ها هستند. گزینش‌ها دارای یک لنگر (anchor) و یک مکان‌نما (cursor) هستند. بیشتر دستورها هر دوی آن‌ها را جابه‌جا می‌کنند، مگر هنگام گسترش گزینش، که در آن نویسه لنگر ثابت می‌ماند و مکان‌نما جابه‌جا می‌شود.

گزینه‌ها به شرح زیر هستند:

نمایش پیام راهنما و خروج.
نمایش نگارش Kakoune و خروج.
بارگذاری نکردن kakrc سیستم (اغلب /usr/share/kak/kakrc).
فهرست کردن نشست‌های موجود.
اجرا به عنوان یک نشست بدون واسط کاربر (نیازمند -s).
command
اجرای command پس از مرحله راه‌اندازی کلاینت.
command
اجرای command پس از مرحله راه‌اندازی سرور.
keys
اجرای Kakoune در ‘حالت فیلتر ،’ مانند sed(1). برای ورودی استاندارد و هر فایلی که در خط فرمان نام برده شده است، کل بافر انتخاب می‌شود (مانند %) و سپس keys اجرا می‌شوند. نسخه فیلترشده ورودی استاندارد در خروجی استاندارد نوشته می‌شود. هر فایلی که در خط فرمان ذکر شده باشد، درجا ویرایش می‌شود، اما اگر -i مشخص شده باشد، Kakoune یک نسخه پشتیبان از نسخه اصلی تهیه می‌کند.
suffix
تهیه نسخه پشتیبان از فایل‌هایی که فیلتر بر آن‌ها اعمال شده است، با استفاده از پسوند داده‌شده.
هنگام کار در ‘حالت فیلتر ،’ هیچ خطایی چاپ نشود.
session_id
ارسال دستورهای نوشته‌شده در ورودی استاندارد به نشست session_id.
session_id
اتصال به نشست داده‌شده session_id.
session_id
تنظیم نام نشست فعلی روی session_id.
type
انتخاب نوع واسط کاربر، که می‌تواند یا باشد.
حذف نشست‌هایی که در وضعیتی نادرست پایان یافته‌اند (برای نمونه پس از یک فروپاشی).
آغاز در حالت فقط‌خواندنی ، هیچ‌یک از بافرهای بازشده روی دیسک نوشته نخواهند شد.
line[:column] |
تعیین یک خط و ستون هدف برای اولین فایل. هنگامی که پس از علامت مثبت تنها یک دونقطه بیاید، مکان‌نما به آخرین خط فایل فرستاده می‌شود.
file ...
یک یا چند file برای ویرایش.

پوسته POSIX مورد استفاده برای بسط را لغو و جایگزین می‌کند، که در صورت تعیین‌نشدن، /bin/sh (sh(1)) است.
مکان دایرکتوری حاوی پیکربندی کاربر Kakoune را لغو و جایگزین می‌کند. در صورت تعیین‌نشدن، از $XDG_CONFIG_HOME/kak استفاده می‌شود.
مکان دایرکتوری حاوی فایل‌های پشتیبانی Kakoune را لغو و جایگزین می‌کند. در صورت تعیین‌نشدن، مکان از روی مکان فایل باینری Kakoune تعیین می‌شود.
مسیر دایرکتوری پیکربندی کاربر. در صورت تعیین‌نشدن، از $HOME/.config استفاده می‌شود.
مسیر سوکت‌های نشست کاربر. در صورت تعیین‌نشدن، از $TMPDIR/kakoune استفاده می‌شود.

در مسیرهای مستندشده در زیر، <rtdir> به دایرکتوری زمان اجرا اشاره دارد، که مقدار آن در صورت تعیین‌نشدن $KAKOUNE_RUNTIME نسبت به مسیر مکان فایل باینری kak تعیین می‌شود: <rtdir> = <path_to_kak_binary>/../share/kak.

اگر با سوئیچ -n آغاز به کار نکرده باشد، kak ابتدا <rtdir>/kakrc را بارگذاری می‌کند، که آن هم به نوبه خود فایل‌های اضافی زیر را بارگذاری خواهد کرد:

  • اگر دایرکتوری $KAKOUNE_CONFIG_DIR/autoload وجود داشته باشد، تمام فایل‌های *.kak درون آن و زیردایرکتوری‌هایش را به صورت بازگشتی بارگذاری می‌کند.
  • اگر وجود نداشته باشد، به دایرکتوری بارگذاری خودکار سراسری سیستم در <rtdir>/autoload رجوع کرده و تمام فایل‌ها را به روش مشابهی به صورت بازگشتی بارگذاری می‌کند.
  • <rtdir>/kakrc.local ، اگر وجود داشته باشد؛ این یک پیکربندی سراسری سیستمی تعریف‌شده توسط کاربر است.
  • $KAKOUNE_CONFIG_DIR/kakrc ، اگر وجود داشته باشد؛ این پیکربندی کاربر است.

در نتیجه، اگر دایرکتوری $KAKOUNE_CONFIG_DIR/autoload وجود داشته باشد، تنها اسکریپت‌های ذخیره‌شده درون آن دایرکتوری بارگذاری خواهند شد — فایل‌های توکار *.kak بارگذاری نخواهند شد.

کاربرانی که همچنان می‌خواهند اسکریپت‌های توکار همراه با اسکریپت‌های خودشان بارگذاری شوند، می‌توانند یک پیوند نمادین به <rtdir>/autoload (یا به اسکریپت‌های درون آن به صورت جداگانه) در دایرکتوری پیکربندی کاربر خود ایجاد کنند:

ln -s <rtdir>/autoload ${XDG_CONFIG_HOME:-$HOME/.config} /kak/autoload

ویرایش یک فایل:
kak /path/to/file
ویرایش چندین فایل (چندین بافر ایجاد خواهد شد):
kak ./file1.txt /path/to/file2.c
افزودن یک modeline به ابتدای چندین فایل که tabstop را تنظیم می‌کند:
kak -f "ggO// kak: tabstop=8<esc>" *.c

برای مستندات برخط کامل، پس از شروع kak از دستور :doc استفاده کنید.

ویکی Kakoune.

وب‌سایت اصلی Kakoune.

vi(1), vim(1), sam(1plan9).

Maxime Coste <frrrwww@gmail.com> و بسیاری دیگر.

June 15, 2021 Linux 6.12.107+deb13-amd64