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

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

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

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

    ‎\k متبوعة بمحرف واحد تمثل المحرف (أو المحارف) الناتجة عند الضغط على أحد هذه المفاتيح:
    \kb | BACKSPACE (مفتاح BACKSPACE)
    \kB | ctrl-BACKSPACE
    \kd | سهم لأسفل
    \kD | صفحة لأسفل
    \ke | النهاية
    \kh | HOME
    \ki | إدراج (INSERT)
    \kl | سهم لليسار
    \kL | ctrl-سهم لليسار
    \kr | سهم لليمين
    \kR | ctrl-سهم لليمين
    \kt | جدولة خلفية (BACKTAB)
    \ku | سهم لأعلى
    \kU | صفحة لأعلى
    \kx | حذف (DELETE)
    \kX | ctrl-DELETE
    \k1 | F1

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

    قد يتبع الإجراء سلسلة "إضافية". عندما يُدخل مثل هذا الأمر أثناء تشغيل less، يُنفذ الإجراء، ثم تُحلل السلسلة الإضافية، تماماً كما لو كانت قد طُبعت في less. يمكن استخدام هذه الميزة في حالات معينة لتوسيع وظائف الأمر. على سبيل المثال، انظر الأمرين "{" و ":t" في المثال أدناه. للسلسلة الإضافية معنى خاص لإجراء "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
    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
    F | forw-forever
    \eF | forw-until-hilite
    R | repaint-flush
    r | repaint
    ^R | repaint
    ^L | repaint
    \eu | undo-hilite
    \eU | clear-search
    g | goto-line
    \kh | goto-line
    < | goto-line
    \e< | goto-line
    p | percent
    % | percent
    \e( | left-scroll
    \e) | إزاحة-لليمين
    \kl | left-scroll
    \kr | إزاحة-لليمين
    \e{ | لا-إزاحة
    \e} | نهاية-الإزاحة
    { | قوس-للأمام {}
    } | قوس-للخلف {}
    ( | قوس-للأمام ()
    ) | قوس-للخلف ()
    [ | قوس-للأمام []
    ] | قوس-للخلف []
    \e^F | قوس-للأمام
    \e^B | قوس-للخلف
    G | goto-end
    \e> | goto-end
    > | goto-end
    \ke | goto-end
    \eG | انتقل-إلى-النهاية-المخزنة
     | الحالة
    ^G | الحالة
    :f | الحالة
    / | بحث-للأمام
    ؟ | بحث-للخلف
    \e/ | بحث-للأمام *
    \e؟ | بحث-للخلف *
    n | كرر-البحث
    \en | كرر-البحث-في-الكل
    N | بحث-معكوس
    \eN | بحث-معكوس-في-الكل
    ^O^N | osc8-بحث-للأمام
    ^On | osc8-بحث-للأمام
    ^O^P | osc8-بحث-للخلف
    ^Op | osc8-بحث-للخلف
    ^O^O | osc8-فتح
    & | filter
    m | عين-علامة
    M | عين-علامة-في-الأسفل
    \em | امسح-العلامة
    ' | انتقل-إلى-العلامة
    ^X^X | انتقل-إلى-العلامة
    E | examine
    :e | examine
    ^X^V | examine
    :n | الملف-التالي
    :p | الملف-السابق
    t | الوسم-التالي
    T | الوسم-السابق
    :x | فهرسة-الملف
    :d | أزل-الملف
    - | بدل-الخيار
    :t | بدل-الخيار t
    s | بدل-الخيار o
     | ## استخدم اسما طويلا للخيار ببدء
     | ## السلسلة الإضافية بشرطة واحدة؛ مثلا:
     | ## s toggle-option -log-file\n
     | عرض-الخيار
    | | pipe
    v | مرئي
    ! | shell
    # | pshell
    + | أول_أمر
    H | help
    h | 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 | إكمال_للخلف
    \e\t | إكمال_للخلف
    ^L | توسيع
    ^V | حرفي
    ^A | حرفي
    \el | right
    \kr | right
    \eh | left
    \kl | left
    \eb | كلمة_يسار
    \e\kl | كلمة_يسار
    \ew | كلمة_يمين
    \e\kr | كلمة_يمين
    \ei | إدراج
    \ex | delete
    \kx | delete
    \eX | حذف_كلمة
    \ekx | حذف_كلمة
    \e\b | رجوع_كلمة
    \e0 | home
    \kh | home
    \e$ | end
    \ke | end
    \ek | up
    \ku | up
    \ej | أسفل
    ^G | abort

متغيرات بيئة 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-2024 مارك نودلمان

يعد 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.