LESSKEY(1)

الاسم
lesskey - خصص روابط المفاتيح لبرنامج less

موجز (مهجور)
lesskey [-o المخرج] -- المدخل
lesskey [--output=المخرج] -- المدخل

lesskey -V
lesskey --version

النطاق
يصف هذا المستند تنسيق ملف مصدر lesskey، والذي يُستخدم في الإصدارة 582 من less وما يليها. في الإصدارات السابقة من less، استُخدم برنامج منفصل يسمى lesskey لتصريف ملف مصدر lesskey إلى تنسيق يفهمه less. لم تعد خطوة التصريف هذه مطلوبة، وبالتالي فإن برنامج lesskey يعد مهجورًا، رغم أن تنسيق الملف لا يزال مدعومًا من قبل less نفسه.

الوصف
يحدد ملف lesskey مجموعة من روابط المفاتيح ومتغيرات البيئة التي ستستخدمها استدعاءات less اللاحقة.

تنسيق الملف
يتكون ملف المدخلات من قسم واحد أو أكثر. يبدأ كل قسم بسطر يحدد نوع القسم. الأقسام الممكنة هي:

#command
    يخصص روابط مفاتيح الأوامر.

#line-edit
    يخصص روابط مفاتيح تحرير الأسطر.

#env
    يعرف متغيرات البيئة.

تُتجاهل الأسطر الفارغة. يُتجاهل أي نص يلي علامة الهاش (#) غير المسبوقة بمحرف هروب في السطر، باستثناء ما هو مذكور أدناه.

قسم الأوامر
يبدأ قسم الأوامر بالسطر

#command

إذا كان قسم الأوامر هو القسم الأول في الملف، فيمكن حذف هذا السطر. يتكون قسم الأوامر من أسطر على الشكل التالي:

  سلسلة <مسافة_فارغة> إجراء <مسافة_فارغة> [سلسلة-إضافية] <سطر_جديد>

المساحة الفارغة هي أي تسلسل من مسافة واحدة أو أكثر و/أو علامات جدولة. السلسلة هي مفتاح (أو مفاتيح) الأمر الذي يستدعي الإجراء. قد تكون السلسلة مفتاح أمر واحد، أو تسلسلاً يصل إلى 15 مفتاحًا. الإجراء هو اسم إجراء less، من القوائم الموجودة في أقسام الأمثلة أدناه. قد تظهر المحارف في السلسلة حرفيًا، أو تسبقها علامة الإقحام (^) للإشارة إلى مفتاح تحكم (control). يمكن استخدام شرطة مائلة خلفية متبوعة برقم واحد إلى ثلاثة أرقام ثمانية لتحديد محرف بقيمته الثمانية. الشرطة المائلة الخلفية المتبوعة بمحارف معينة تحدد محارف الإدخال كما يلي:
    \b | BACKSPACE | (0x08)
    \e | ESCAPE | (0x1B)
    \n | سطر جديد (NEWLINE) | (0x0A)
    \r | إدخال (RETURN) | (0x0D)
    \t | جدولة (TAB) | (0x09)

\k متبوعة بمحرف أو محرفين تمثل المحرف (أو المحارف) الناتجة عند الضغط على أحد هذه المفاتيح:
    \kb | BACKSPACE (مفتاح BACKSPACE؛ قد يختلف عن \b)
    \kB | ctrl-BACKSPACE
    \kd | سهم لأسفل
    \kD | صفحة لأسفل
    \ke | النهاية
    \kE | ctrl-END
    \kF | shift-END
    \kh | HOME
    \kH | ctrl-HOME
    \kI | shift-HOME
    \ki | إدراج (INSERT)
    \kl | سهم لليسار
    \kL | ctrl-سهم لليسار
    \kM | shift-سهم لليسار
    \kr | سهم لليمين
    \kR | ctrl-سهم لليمين
    \kS | shift-سهم لليمين
    \kt | جدولة خلفية (BACKTAB)
    \ku | سهم لأعلى
    \kU | صفحة لأعلى
    \kx | حذف (DELETE)
    \kX | ctrl-DELETE
    \k1 | F1
    \kp1 | المفتاح السفلي الأيسر في لوحة المفاتيح الرقمية
    \kp2 | المفتاح السفلي الأوسط في لوحة المفاتيح الرقمية
    \kp3 | المفتاح السفلي الأيمن في لوحة المفاتيح الرقمية
    \kp4 | المفتاح الأوسط الأيسر في لوحة المفاتيح الرقمية
    \kp5 | المفتاح الأوسط في لوحة الرقمية
    \kp6 | المفتاح الأوسط الأيمن في لوحة الرقمية
    \kp7 | المفتاح العلوي الأيسر في لوحة الرقمية
    \kp8 | المفتاح العلوي الأوسط في لوحة الرقمية
    \kp9 | المفتاح العلوي الأيمن في لوحة الرقمية
    \kp0 | 0 في لوحة الرقمية
    \kp* | * في لوحة الرقمية
    \kp/ | / في لوحة الرقمية
    \kp- | - في لوحة الرقمية
    \kp+ | + في لوحة الرقمية
    \kp. | . في لوحة الرقمية
    \kp, | ، في لوحة الرقمية
    \kpe | ENTER في لوحة الأرقام

تشير الشرطة المائلة الخلفية المتبوعة بأي محرف آخر إلى وجوب أخذ ذلك المحرف حرفيًا. تشمل المحارف التي يجب أن تسبقها شرطة مائلة خلفية كلًا من علامة الإقحام، والمسافة، وعلامة التبويب، وعلامة المربع، والشرطة المائلة الخلفية نفسها.

قد يتبع الإجراء سلسلة نصية "إضافية". عند إدخال مثل هذا الأمر أثناء تشغيل less، يُنفذ الإجراء، ثم تُحلل السلسلة الإضافية كما لو أنها كُتبت في less. يمكن استخدام هذه الميزة في حالات معينة لتوسيع وظائف الأمر. على سبيل المثال، انظر الأمرين "{" و ":t" في المثال أدناه. يمكن استخدامها أيضًا لتنفيذ أكثر من أمر واحد عند الضغط على مفتاح. على سبيل المثال، إذا كان هذا السطر في ملف lesskey، فإن الضغط على مفتاح "B" سيقوم أولاً بتعيين العلامة "b" ثم البحث عن السلسلة "next":

        B set-mark b/next\n

للسلسلة الإضافية معنى خاص لإجراء "quit": فعند خروج less، تُستخدم قيمة ASCII للمحرف الأول من السلسلة الإضافية كحالة خروج له.

مثال
يصف ملف الإدخال التالي مجموعة مفاتيح الأوامر المبدئية التي يستخدمها less. يمكن العثور على التوثيق الخاص بكل أمر في صفحة دليل less، تحت تسلسل المفاتيح الذي يستدعي الأمر.

    #command
    \r | forw-line
    \n | forw-line
    e | forw-line
    j | forw-line
    \kd | forw-line
    ^E | forw-line
    ^N | forw-line
    k | back-line
    y | back-line
    ^Y | back-line
    ^K | back-line
    ^P | back-line
    \ku | back-line
    J | forw-line-force
    K | back-line-force
    Y | back-line-force
    d | forw-scroll
    ^D | forw-scroll
    u | back-scroll
    ^U | back-scroll
    \40 | forw-screen
    f | forw-screen
    ^F | forw-screen
    ^V | forw-screen
    \kD | forw-screen
    b | back-screen
    ^B | back-screen
    \ev | back-screen
    \kU | back-screen
    z | forw-window
    w | back-window
    \e\40 | forw-screen-force
    \eb | back-screen-force
    \ej | forw-newline
    \ek | back-newline
    F | forw-forever
    \eF | forw-until-hilite
    \ef | forw-bell-hilite
    R | repaint-flush
    r | repaint
    ^R | repaint
    ^L | repaint
    \eu | undo-hilite
    \eU | clear-search
    g | goto-line
    \kh | goto-line
    \kH | goto-line \e{
    \kI | goto-line \e{
    \ke | goto-end
    \kE | goto-end \e}
    \kF | goto-end \e}
    < | goto-line
    \e< | goto-line
    p | percent
    % | percent
    \e( | left-scroll
    \e) | إزاحة-لليمين
    \e{ | لا-إزاحة
    \e} | نهاية-الإزاحة
    \kl | left-scroll
    \kr | إزاحة-لليمين
    \kL | لا-إزاحة
    \kM | لا-إزاحة
    \kR | نهاية-الإزاحة
    \kS | نهاية-الإزاحة
    { | قوس-للأمام {}
    } | قوس-للخلف {}
    ( | قوس-للأمام ()
    ) | قوس-للخلف ()
    [ | قوس-للأمام []
    ] | قوس-للخلف []
    \e^F | قوس-للأمام
    \e^B | قوس-للخلف
    G | goto-end
    \e> | goto-end
    > | goto-end
    P | انتقل-إلى-الموضع
    \eG | انتقل-إلى-النهاية-المخزنة
     | الحالة
    ^G | الحالة
    :f | الحالة
    / | بحث-للأمام
    ؟ | بحث-للخلف
    \e/ | بحث-للأمام *
    \e؟ | بحث-للخلف *
    n | كرر-البحث
    \en | كرر-البحث-في-الكل
    N | بحث-معكوس
    \eN | بحث-معكوس-في-الكل
    & | filter
    m | عين-علامة
    M | عين-علامة-في-الأسفل
    \em | امسح-العلامة
    ' | انتقل-إلى-العلامة
    ^X^X | انتقل-إلى-العلامة
    E | examine
    :e | examine
    ^X^V | examine
    :n | الملف-التالي
    :p | الملف-السابق
    ^O^N | osc8-بحث-للأمام
    ^On | osc8-بحث-للأمام
    ^O^P | osc8-بحث-للخلف
    ^Op | osc8-بحث-للخلف
    ^O^O | osc8-فتح
    ^Oo | osc8-فتح
    ^O^L | osc8-قفز
    ^Ol | osc8-قفز
    t | الوسم-التالي
    T | الوسم-السابق
    :x | فهرسة-الملف
    :d | أزل-الملف
    - | بدل-الخيار
    :t | بدل-الخيار t
    s | بدل-الخيار o
     | ## استخدم اسما طويلا للخيار ببدء
     | ## السلسلة الإضافية بشرطة واحدة؛ مثلا:
     | ## s toggle-option -log-file\n
     | عرض-الخيار
    | | pipe
    v | مرئي
    ! | shell
    # | pshell
    + | أول_أمر
    \e[M | mouse
    \e[< | فأرة6
    \kp1 | goto-end
    \kp2 | forw-line
    \kp3 | forw-screen
    \kp4 | left-scroll
    \kp6 | إزاحة-لليمين
    \kp7 | goto-line
    \kp8 | back-line
    \kp9 | back-screen
    \kp0 | noaction 0
    \kp* | noaction *
    \kp/ | noaction /
    \kp- | noaction -
    \kp+ | noaction +
    \kp. | noaction .
    \kp, | noaction ,
    H | help
    h | help
    \k1 | help
    V | version
    0 | digit
    1 | digit
    2 | digit
    3 | digit
    4 | digit
    5 | digit
    6 | digit
    7 | digit
    8 | digit
    9 | digit
    q | quit
    Q | quit
    :q | quit
    :Q | quit
    ZZ | quit

الأسبقية
تأخذ الأوامر المحددة بواسطة lesskey أسبقية على الأوامر المبدئية. يمكن تعطيل مفتاح أمر مبدئي عبر تضمينه في ملف المدخلات مع الإجراء "invalid". بدلاً من ذلك، يمكن تعريف مفتاح لا يفعل شيئاً باستخدام الإجراء "noaction". إجراء "noaction" مشابه لـ "invalid"، لكن less سيصدر صوت تنبيه خطأ مع الأمر "invalid"، ولا يفعل ذلك مع أمر "noaction". بالإضافة إلى ذلك، يمكن تعطيل كُل الأوامر المبدئية عبر إضافة سطر التحكم هذا إلى ملف المدخلات:

#stop

سيؤدي هذا إلى تجاهل كُل الأوامر المبدئية. يجب أن يكون سطر #stop هو السطر الأخير في ذلك القسم من الملف.

كن حذراً من أن #stop قد يكون خطيراً. بما أن كُل الأوامر المبدئية معطلة، يجب عليك توفير أوامر كافية قبل سطر #stop لتمكين كُل الإجراءات الضرورية. على سبيل المثال، الفشل في توفير أمر "quit" قد يؤدي إلى الإحباط.

قسم تحرير السطور
يبدأ قسم تحرير السطور بالسطر:

    #line-edit

يحدد هذا القسم روابط مفاتيح جديدة لأوامر تحرير السطور، بطريقة مشابهة للطريقة التي تُحدد بها روابط المفاتيح للأوامر العادية في قسم #command. يتكون قسم تحرير السطور من قائمة من المفاتيح والإجراءات، واحد لكل سطر كما في المثال أدناه.

مثال
يصف ملف المدخلات التالي مجموعة مفاتيح تحرير السطور المبدئية المستخدمة بواسطة less:

    #line-edit
    \t | إكمال_للأمام
    \17 | إكمال_للخلف
    \ekt | إكمال_للخلف
    \e\t | إكمال_للخلف
    ^L | توسيع
    ^V | حرفي
    ^A | حرفي
    \el | right
    \kr | right
    \eh | left
    \kl | left
    \eb | كلمة_يسار
    \e\kl | كلمة_يسار
    \e\kL | كلمة_يسار
    \ew | كلمة_يمين
    \e\kr | كلمة_يمين
    \e\kR | كلمة_يمين
    \ei | إدراج
    \ki | إدراج
    \ex | delete
    \kx | delete
    \eX | حذف_كلمة
    \ekx | حذف_كلمة
    \kX | حذف_كلمة
    \e\b | رجوع_كلمة
    \kB | رجوع_كلمة
    \e0 | home
    \kh | home
    \e$ | end
    \ke | end
    \ek | up
    \ku | up
    \ej | أسفل
    \kd | أسفل
    ^G | abort
    \kp1 | end
    \kp2 | أسفل
    \kp4 | left
    \kp6 | right
    \kp7 | home
    \kp8 | up
    \kp0 | noaction 0
    \kp* | noaction *
    \kp/ | noaction /
    \kp- | noaction -
    \kp+ | noaction +
    \kp. | noaction .
    \kp, | noaction ,
    \e[M | mouse
    \e[< | فأرة6

متغيرات بيئة LESS
يبدأ قسم متغيرات البيئة بالسطر

#env

يلي هذا السطر قائمة بتعيينات متغيرات البيئة. يتكون كل سطر من اسم متغير البيئة، وعلامة يساوي (=)، والقيمة المطلوب تعيينها للمتغير. يُتجاهل الفراغ الأبيض قبل وبعد علامة اليساوي. المتغيرات المعينة بهذه الطريقة تكون مرئية لبرنامج less فقط. إذا حُدد متغير في بيئة النظام وكذلك في ملف lesskey، فإن القيمة الموجودة في ملف lesskey هي التي تأخذ الأسبقية.

إذا كان اسم المتغير متبوعاً بـ =+ بدلاً من =، فسيُلحق السلسلة النصية بالقيمة الموجودة للمتغير. يعمل هذا حالياً فقط إذا كانت أي أسطر =+ تتبع مباشرة التعريف الأصلي لنفس المتغير (بواسطة سطر =)، دون أي تعريفات متداخلة لمتغيرات أخرى. يمكنه الإلحاق فقط بمتغير عُرّف سابقاً في الملف؛ ولا يمكنه الإلحاق بمتغير في بيئة النظام. تُلحق السلسلة حرفياً، دون إضافة أي مسافة بيضاء إضافية، لذا إذا كانت المسافة البيضاء مرغوبة، فيجب إلحاقها بنهاية السطر السابق. (لا يمكن إضافتها إلى بداية سلسلة =+ لأن المسافة بعد علامة اليساوي تُتجاهل، كما ذُكر أعلاه).

في السلسلة التي تلي علامة =، تُستبدل السلسلة الفرعية التي تأخذ شكل ${NAME} بقيمة متغير البيئة "NAME". قد تأتي قيمة المتغير إما من بيئة النظام، أو ملف lesskey سابق، أو تعريف سابق في ملف lesskey الحالي. يمكن إجراء استبدالات نصية بسيطة باستخدام الصيغة ${NAME/STRING/REPL}. يؤدي هذا إلى استبدال كافة مثيلات "STRING" في متغير البيئة المسمى بالنص "REPL". تتم مطابقة STRING باستخدام مقارنة نصية بسيطة؛ ولا تُدعم المحارف الوصفية (metacharacters). يجب الهروب من أي مثيل للشرطة المائلة أو القوس المتعرج الأيمن في STRING أو REPL بسبقه بـ شرطتين مائلتين خلفيتين. إذا كان REPL سلسلة فارغة، فستُحذف كُل مثيلات STRING. يمكن حذف الشرطة المائلة التي تسبق القوس المتعرج الأيمن مباشرة. يمكن إجراء استبدالات متعددة باستخدام الصيغة ${NAME/STRING1/REPL1/STRING2/REPL2} وهكذا.

الضبط الشرطي
إذا بدأ سطر بـ version# متبوعاً بمعامل علاقة ورقم إصدار، فسيُحلل ما تبقى من السطر إذا وفقط إذا كان إصدار less (أو lesskey) المُشغل يطابق المعامل. يمكن أن يكون هذا مفيداً إذا استُخدم ملف lesskey بواسطة إصدارات مختلفة من less.

على سبيل المثال، لنفترض أن أمراً جديداً يسمى 'sideways-search' أُضيف في الإصدار 777 من less. حينئذٍ سيقوم السطر التالي بتعيين الأمر للمفتاح Q، ولكن فقط في إصدارات less التي تدعمه. سيُتجاهل السطر بواسطة الإصدارات الأقدم من 777.

    	#version >= 777  Q sideways-search

تُدعم هذه المعاملات الستة:
    > | أكبر من
    < | أقل من
    >= | أكبر من أو يساوي
    <= | أقل من أو يساوي
     | يساوي
    != | لا يساوي

ميزة #version غير مدعومة في less و lesskey قبل الإصدار 594. في تلك الإصدارات القديمة، تُتجاهل جميع أسطر #version.

مثال
يضبط ملف الدخل التالي الخيارين ‎-i و ‎-S عند تشغيل less، ويضيف الخيار ‎--color في الإصدار 595 وما فوق.

    	#env
    	## (لاحظ أنه يجب وجود مسافة في نهاية السطر التالي،
    	##  لفصل الخيار --color عن الخيار -S.)
    	LESS = -i -S 	#version >= 595  LESS += --color=Hkc

انظر أيضًا
less(1)

تحذيرات
في أنظمة MS-DOS و OS/2، ترسل مفاتيح معينة تسلسل (sequence) من المحارف التي تبدأ بمحرف NUL ‏(0). يجب تمثيل محرف NUL هذا كـ ‎\340 في ملف lesskey.

حقوق النسخ
حقوق النشر (C) 1984-2026 مارك نودلمان

يعد less جزءاً من مشروع جنو وهو برمجية حرة. يمكنك إعادة توزيعه و/أو تعديله بموجب شروط إما (1) رخصة جنو العمومية كما نشرتها مؤسسة البرمجيات الحرة؛ أو (2) رخصة Less. انظر الملف README في توزيعة less لمزيد من التفاصيل بخصوص إعادة التوزيع. يجب أن تكون قد استلمت نسخة من رخصة جنو العمومية مع مصدر less؛ انظر الملف COPYING. إذا لم يكن الأمر كذلك، فاكتب إلى Free Software Foundation، 59 Temple Place، Suite 330، Boston، MA 02111-1307، USA. كما يجب أن تكون قد استلمت نسخة من رخصة Less؛ انظر الملف LICENSE.

يوزع less على أمل أن يكون مفيداً، ولكن دون أي ضمان؛ حتى دون الضمان الضمني لصلاحية العرض في السوق أو الملاءمة لغرض معين. انظر رخصة جنو العمومية لمزيد من التفاصيل.

المؤلف
مارك نودلمان
أبلغ عن العلل في https://github.com/gwsw/less/issues.

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.