VI(1)

الاسم
ex، vi، view - محررات نصوص

موجز
ex [-eRrSsv] [.BI -c cmd ] [-t وسم ] [-w حجم ] [ملف ...]
vi [-elRrSv] [.BI -c cmd ] [-t وسم ] [-w حجم ] [ملف ...]
view [-eRrSv] [.BI -c cmd ] [-t وسم ] [-w حجم ] [ملف ...]

الرخصة
إن برنامج vi متاح لإعادة التوزيع بحرية. نرحب بنسخه وتعديله ومشاركته مع الآخرين بموجب الشروط المدرجة في ملف LICENSE. إذا وجدت أي شركة (وليس الأفراد!) أن vi مفيد لدرجة أنها كانت ستشتريه، أو إذا رغبت أي شركة في إعادة توزيعه، فإن المساهمات للمؤلفين ستكون محل تقدير.

الوصف
يعد Vi محرر نصوص موجه للشاشة. أما Ex فهو محرر نصوص موجه للأسطر. يعد كل من Ex و vi واجهتين مختلفتين لنفس البرنامج، ومن الممكن التبديل بينهما ذهاباً وإياباً خلال جلسة التحرير. أما View فهو ما يعادل استخدام الخيار -R (للقراءة فقط) في vi.

صفحة الدليل هذه هي تلك المتوفرة مع نسخ nex/nvi من محررات النصوص ex/vi. تهدف Nex/nvi لتكون بدائل متوافقة برمجياً (حتى في الأخطاء) لبرامج ex و vi الأصلية التابعة لتوزيعة برمجيات بيركلي الرابعة (4BSD). فيما تبقى من صفحة الدليل هذه، يُستخدم nex/nvi فقط عندما يلزم تمييزه عن النسخ التاريخية من ex/vi.

خُصصت صفحة الدليل هذه للمستخدمين المعتادين بالفعل على ex/vi. يجب على أي شخص آخر قراءة درس تعليمي جيد حول المحرر قبل هذه الصفحة. إذا كنت في بيئة غير مألوفة، ويتعين عليك إنجاز العمل فوراً، فاقرأ القسم الموجود بعد وصف الخيارات، والمعنون بـ “بدء التشغيل السريع”. فمن المحتمل أن يكون كافياً لتبدأ.

الخيارات التالية متاحة:

-c  نَفّذ cmd فور بدء جلسة التحرير. يفيد هذا بشكل خاص لتحديد الموضع الأولي في الملف، ومع ذلك لا يقتصر cmd على أوامر تحديد المواضع. هذه هي واجهة POSIX 1003.2 لصيغة “+cmd” التاريخية. يدعم Nex/nvi كلا الصيغتين القديمة والجديدة.

-e  ابدأ التحرير في وضع ex، كما لو كان اسم الأمر ex.

-l  ابدأ التحرير مع تفعيل خياري lisp و showmatch.

-R  ابدأ التحرير في وضع القراءة فقط، كما لو كان اسم الأمر view، أو كان خيار readonly مفعلاً.

-r  استعد الملفات المحددة، أو إذا لم تُحدد أي ملفات، فاعرض قائمة بالملفات التي يمكن استعادتها. في حال عدم وجود ملفات قابلة للاستعادة بالاسم المحدد، يُحرر الملف كما لو لم يُحدد الخيار -r.

-S  شَغّل مع تفعيل خيار التحرير الآمن secure، مما يمنع الوصول إلى البرامج الخارجية.

-s  ادخل في وضع الدفعة؛ ينطبق فقط على جلسات تحرير ex. يفيد وضع الدفعة عند تشغيل سكربتات ex. تُعطل المحثات، والرسائل المعلوماتية والرسائل الأخرى الموجهة للمستخدم، ولا تُقرأ ملفات بدء التشغيل أو متغيرات البيئة. هذه هي واجهة POSIX 1003.2 لمعامل “-” التاريخي. يدعم Nex/nvi كلا الصيغتين القديمة والجديدة.

-t  ابدأ التحرير عند الوسم المحدد. (انظر ctags(1)).

-w  اضبط حجم النافذة الأولي على عدد الأسطر المحدد.

-v  ابدأ التحرير في وضع vi، كما لو كان اسم الأمر vi أو view.

لاحظ أن الخيار -F (الذي كان يمنع ex/vi من إنشاء نسخة احتياطية كاملة للملف المستهدف) قد أُزيل ولم يعد متاحاً.

يُقرأ دخل الأوامر لـ ex/vi من الدخل القياسي. في واجهة vi، يحدث خطأ إذا لم يكن الدخل القياسي طرفية. أما في واجهة ex، فإذا لم يكن الدخل القياسي طرفية، سيقرأ ex الأوامر منه على أي حال، ولكن ستكون الجلسة بنمط الدفعة، تماماً كما لو حُدد الخيار -s.

يخرج Ex/vi بالقيمة 0 عند النجاح، وبقيمة أكبر من 0 عند حدوث خطأ.

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

يعد Vi محرر شاشة. وهذا يعني أنه يشغل كامل الشاشة تقريباً، حيث يعرض جزءاً من الملف في كل سطر من أسطر الشاشة، باستثناء السطر الأخير. يُستخدم السطر الأخير من الشاشة لتعطي الأوامر لـ vi، وليعطيك vi المعلومات.

الحقيقة الأخرى التي يجب أن تفهمها هي أن vi محرر ذو أنماط، أي أنك إما تقوم بإدخال نص أو تنفيذ أوامر، ويجب أن تكون في الوضع الصحيح للقيام بأي منهما. ستكون في وضع الأوامر عند بدء تحرير ملف لأول مرة. هناك أوامر تنقلك إلى وضع الإدخال. يوجد مفتاح واحد فقط يخرجك من وضع الإدخال، وهو مفتاح <escape>. (تُكتب أسماء المفاتيح باستخدام علامتي الأصغر من والأكبر من، مثل <escape> التي تعني مفتاح الهروب، ويكون عليه عادة الوسم “esc” في لوحة مفاتيح الطرفية.) إذا التبس عليك الأمر بشأن الوضع الذي تتواجد فيه، استمر في ضغط مفتاح <escape> حتى يصدر vi صفيراً. (بشكل عام، سيصدر vi صفيراً إذا حاولت القيام بشيء غير مسموح به. كما سيعرض رسائل خطأ.)

لبدء تحرير ملف، أدخل الأمر “vi اسم_الملف<carriage-return>”. والأمر الذي يجب أن تدخله بمجرد بدء التحرير هو “:set verbose showmode<carriage-return>”. سيؤدي هذا لجعل المحرر يعطيك رسائل خطأ مفصلة ويعرض النمط الحالي في أسفل الشاشة.

أوامر التنقل داخل الملف هي:

h   حرك المؤشر يساراً حرفاً واحداً.

j   حرك المؤشر لأسفل سطراً واحداً.

k   حرك المؤشر لأعلى سطراً واحداً.

l   حرك المؤشر يميناً حرفاً واحداً.

<أسهم-المؤشر>
    يُفترض أن تعمل مفاتيح أسهم المؤشر أيضًا.

/النص<carriage-return>
    ابحث عن سلسلة “النص” في الملف، وحرك المؤشر إلى أول حرف منها.

أوامر إدخال نص جديد هي:

a   ألحق نصاً جديداً، بعد المؤشر.

i   أدرج نصاً جديداً، قبل المؤشر.

o   افتح سطراً جديداً أسفل السطر الذي يوجد عليه المؤشر، وابدأ في إدخال النص.

O   افتح سطراً جديداً أعلى السطر الذي يوجد عليه المؤشر، وابدأ في إدخال النص.

<escape>
    بمجرد دخولك وضع الإدخال باستخدام أحد الأوامر a أو i أو O أو o، استخدم <escape> للتوقف عن إدخال النص والعودة إلى وضع الأوامر.

أوامر نسخ النص هي:

yy  انسخ السطر الذي يقف عليه المؤشر.

p   ألحق السطر المنسوخ بعد السطر الذي يقف عليه المؤشر.

أوامر حذف النص هي:

dd  احذف السطر الذي يقف عليه المؤشر.

x   احذف الحرف الذي يقف عليه المؤشر.

أوامر كتابة الملف هي:

:w<carriage-return>
    اكتب الملف مرة أخرى بالاسم الذي استخدمته أصلاً كمعامل في سطر أوامر vi.

:w اسم_الملف<carriage-return>
    اكتب الملف مرة أخرى باسم “اسم_الملف”.

أوامر إنهاء التحرير والخروج من المحرر هي:

:q<carriage-return>
    أنِهِ التحرير وغادر vi (إذا كنت قد عدلت الملف، ولم تحفظ تغييراتك، سيرفض vi الخروج).

:q!<carriage-return>
    اخرج مع تجاهل أي تعديلات قد تكون أجريتها.

تحذير أخير. يمكن أن تشغل الأحرف غير المعتادة أكثر من عمود واحد على الشاشة، ويمكن أن تشغل الأسطر الطويلة أكثر من سطر شاشة واحد. تعمل الأوامر المذكورة أعلاه على الأحرف والأسطر “الفيزيائية”، أي أنها تؤثر على السطر بالكامل بغض النظر عن عدد أسطر الشاشة التي يشغلها وعلى الحرف بالكامل بغض النظر عن عدد أعمدة الشاشة التي يشغلها.

أوامر VI
يصف القسم التالي الأوامر المتاحة في وضع الأوامر لمحرر vi. في كل إدخال أدناه، سطر الوسم هو موجز استخدام لحرف الأمر.

[count] <control-A>
    ابحث للأمام عدد count من المرات عن الكلمة الحالية.

[count] <control-B>
    انتقل للخلف بمقدار count من الصفحات.

[count] <control-D>
    مرر للأمام بمقدار count من الأسطر.

[count] <control-E>
    مرر للأمام بمقدار count من الأسطر، مع ترك السطر والعمود الحاليين كما هما، إن أمكن.

[count] <control-F>
    انتقل للأمام بمقدار count من الصفحات.

<control-G>
    اعرض معلومات الملف.

<control-H>

[count] h
    حرك المؤشر للخلف بمقدار count من الأحرف في السطر الحالي.

[count] <control-J>

[count] <control-N>

[count] j
    حرك المؤشر لأسفل بمقدار count من الأسطر دون تغيير العمود الحالي.

<control-L>

<control-R>
    إعادة رسم الشاشة.

[count] <control-M>

[count] +
    حرك المؤشر لأسفل بمقدار count من الأسطر إلى أول حرف غير فارغ في ذلك السطر.

[count] <control-P>

[count] k
    حرك المؤشر لأعلى بمقدار count من الأسطر، دون تغيير العمود الحالي.

<control-T>
    العودة إلى سياق الوسم الأحدث.

<control-U>
    التمرير للخلف بمقدار count من الأسطر.

<control-W>
    الانتقال إلى الشاشة التالية الأدنى في النافذة، أو إلى الشاشة الأولى إذا لم توجد شاشات أدنى في النافذة.

<control-Y>
    التمرير للخلف بمقدار count من الأسطر، مع ترك السطر والعمود الحاليين كما هما، إن أمكن.

<control-Z>
    تعليق جلسة المحرر الحالية.

<escape>
    تنفيذ أوامر ex أو إلغاء الأوامر الجزئية.

<control-]>
    دفع مرجع وسم إلى مكدس الأوسمة.

<control-^>
    الانتقال إلى الملف الذي عُدّل مؤخرًا.

[count] <space>

[count] l
    تحريك المؤشر للأمام بمقدار count من المحارف دون تغيير السطر الحالي.

[count] ! motion shell-argument(s)
    استبدال النص بنتائج من أمر صدفة.

[count] # #|+|-
    زيادة أو إنقاص الرقم عند المؤشر.

[count] $
    تحريك المؤشر إلى نهاية السطر.

%   الانتقال إلى المحرف المطابق.

&   تكرار أمر الاستبدال السابق على السطر الحالي.

'<character>

`<character>
    العودة إلى سياق موسوم بالمحرف <character>.

[count] (
    الرجوع للخلف بمقدار count من الجمل.

[count] )
    التحرك للأمام بمقدار count من الجمل.

[count] ,
    عكس البحث عن المحرف count من المرات.

[count] -
    الانتقال إلى أول محرف غير فارغ في السطر السابق، count من المرات.

[count] .
    تكرار آخر أمر vi عدّل النص.

/RE<carriage-return>

/RE/ [offset]<carriage-return>

?RE<carriage-return>

?RE? [offset]<carriage-return>

N

n   البحث للأمام أو للخلف عن تعبير نمطي.

0   الانتقال إلى المحرف الأول في السطر الحالي.

:   تنفيذ أمر ex.

[count] ;
    تكرار آخر عملية بحث عن محرف count من المرات.

[count] < motion

[count] > motion
    إزاحة الأسطر يسارًا أو يمينًا.

@ buffer
    تنفيذ مخزن وسيط مسمى.

[count] A
    الدخول في وضع الإدخال، مع إلحاق النص بعد نهاية السطر.

[count] B
    التحرك للخلف بمقدار count من الكلمات الكبيرة.

[buffer] [count] C
    تغيير النص من الموقع الحالي إلى نهاية السطر.

[buffer] D
    حذف النص من الموقع الحالي إلى نهاية السطر.

[count] E
    التحرك للأمام بمقدار count من نهايات الكلمات الكبيرة.

[count] F <character>
    البحث count من المرات للخلف عبر السطر الحالي عن <character>.

[count] G
    الانتقال إلى السطر count، أو السطر الأخير في الملف إذا لم يُحدد count.

[count] H
    الانتقال إلى سطر الشاشة الواقع count - 1 من الأسطر أسفل قمة الشاشة.

[count] I
    الدخول في وضع الإدخال، مع إدراج النص في بداية السطر.

[count] J
    ضم الأسطر.

[count] L
    الانتقال إلى سطر الشاشة الواقع count - 1 من الأسطر فوق أسفل الشاشة.

M   الانتقال إلى سطر الشاشة في منتصف الشاشة.

[count] O
    الدخول في وضع الإدخال، مع إلحاق النص في سطر جديد فوق السطر الحالي.

[buffer] P
    إدراج نص من مخزن وسيط.

Q   الخروج من وضع vi (أو المرئي) والانتقال إلى وضع ex.

[count] R
    الدخول في وضع الإدخال، مع استبدال المحارف في السطر الحالي.

[buffer] [count] S
    استبدال count من الأسطر.

[count] T <character>
    البحث للخلف، count من المرات، عبر السطر الحالي عن المحرف الواقع بعد <character> المحدد.

U   استعادة السطر الحالي إلى حالته قبل آخر مرة انتقل المؤشر فيها إليه.

[count] W
    التحرك للأمام بمقدار count من الكلمات الكبيرة.

[buffer] [count] X
    حذف count من المحارف قبل المؤشر.

[buffer] [count] Y
    نسخ (أو “yank”) بمقدار count من الأسطر إلى المخزن الوسيط المحدد.

ZZ  كتابة الملف والخروج من vi.

[count] [[
    الرجوع للخلف بمقدار count من حدود الأقسام.

[count] ]]
    التحرك للأمام بمقدار count من حدود الأقسام.

^   الانتقال إلى أول محرف غير فارغ في السطر الحالي.

[count] _
    الانتقال للأسفل بمقدار count - 1 من الأسطر، إلى أول محرف غير فارغ.

[count] a
    الدخول في وضع الإدخال، مع إلحاق النص بعد المؤشر.

[count] b
    التحرك للخلف بمقدار count من الكلمات.

[buffer] [count] c motion
    تغيير منطقة من النص.

[buffer] [count] d motion
    حذف منطقة من النص.

[count] e
    تحرك للأمام بمقدار count من نهايات الكلمات.

[count] f<character>
    ابحث للأمام، بمقدار count من المرات، في بقية السطر الحالي عن <character>.

[count] i
    ادخل إلى وضع الإدخال، لإدراج النص قبل المؤشر.

m <character>
    احفظ السياق الحالي (السطر والعمود) كـ <character>.

[count] o
    ادخل إلى وضع الإدخال، لإلحاق النص في سطر جديد أسفل السطر الحالي.

[buffer] p
    ألحِق نصًا من خبيئة.

[count] r <character>
    استبدل عدد count من المحارف.

[buffer] [count] s
    عوّض عدد count من المحارف في السطر الحالي بدءًا من المحرف الحالي.

[count] t <character>
    ابحث للأمام، بمقدار count من المرات، في السطر الحالي عن المحرف الذي يسبق <character> مباشرة.

u   تراجع عن آخر تغيير أُجري على الملف.

[count] w
    تحرك للأمام بمقدار count من الكلمات.

[buffer] [count] x
    احذف عدد count من المحارف.

[buffer] [count] y motion
    انسخ (أو “yank”) منطقة نصية يحددها count والحركة (motion) إلى خبيئة.

[count1] z [count2] -|.|+|^|<carriage-return>
    أعد الرسم، مع إمكانية إعادة تموضع الشاشة وتغيير حجمها اختياريًا.

[count] {
    تحرك للخلف بمقدار count من الفقرات.

[count] |
    انتقل إلى موضع column محدد في السطر الحالي.

[count] }
    تحرك للأمام بمقدار count من الفقرات.

[count] ~
    اعكس حالة الأحرف لعدد count من المحارف التالية، إذا كان الخيار tildeop غير مفعّل (unset).

[count] ~ motion
    اعكس حالة الأحرف في منطقة نصية يحددها count و motion، إذا كان الخيار tildeop مفعّلًا (set).

<interrupt>
    قاطع العملية الحالية.

أوامر إدخال النصوص في VI
يصف القسم التالي الأوامر المتاحة في وضع إدخال النص لمحرر vi.

<nul>
    أعد تشغيل الإدخال السابق.

<control-D>
    امسح حتى حدود عمود shiftwidth السابق.

^<control-D>
    امسح جميع محارف الإزاحة التلقائية، وأعد ضبط مستوى الإزاحة التلقائية.

0<control-D>
    امسح جميع محارف الإزاحة التلقائية.

<control-T>
    أدرج ما يكفي من محارف <tab> و <space> للتحرك للأمام إلى حدود عمود shiftwidth التالية.

<erase>

<control-H>
    امسح المحرف الأخير.

<literal next>
    اقتبس المحرف التالي.

<escape>
    سوّي جميع مدخلات النص في الملف، وعد إلى وضع الأوامر.

<line erase>
    امسح السطر الحالي.

<control-W>

<word erase>
    امسح الكلمة الأخيرة. يعتمد تعريف الكلمة على الخيارين altwerase و ttywerase.

<control-X>[0-9A-Fa-f]+
    أدرج محرفًا بالقيمة الست عشرية المحددة في النص.

<interrupt>
    قاطع وضع إدخال النص، مع العودة إلى وضع الأوامر.

أوامر EX
يصف القسم التالي الأوامر المتاحة في محرر ex. في كل إدخال أدناه، يمثل سطر الوسم ملخصًا لاستخدام الأمر.

<end-of-file>
    مرر الشاشة.

! argument(s)

[range]! argument(s)
    نفذ أمر صدفة، أو مرر الأسطر عبر أمر صدفة.

"   تعليق.

[range] nu[mber] [count] [flags]

[range] # [count] [flags]
    اعرض الأسطر المحددة، مسبوقة برقم السطر الخاص بها.

@ buffer

* buffer
    نفذ ما في الخبيئة.

[line] a[ppend][!]
    نص الإدخال يُلحق بعد السطر المحدد.

[range] c[hange][!] [count]
    نص الإدخال يستبدل النطاق المحدد.

cs[cope] add | find | help | kill | reset
    نفذ أمر Cscope.

[range] d[elete] [buffer] [count] [flags]
    احذف الأسطر من الملف.

di[splay] b[uffers] | c[onnections] | s[creens] | t[ags]
    اعرض الخبيئات، أو اتصالات Cscope، أو الشاشات أو الوسوم.

[Ee][dit][!] [+cmd] [file]

[Ee]x[!] [+cmd] [file]
    حرر ملفًا آخر.

exu[sage] [command]
    اعرض طريقة استخدام أمر ex.

f[ile] [file]
    اعرض اسم الملف وغيّره اختياريًا.

[Ff]g [name]
    وضع Vi فقط. انقل الشاشة المحددة إلى الواجهة.

[range] g[lobal] /pattern/ [commands]

[range] v /pattern/ [commands]
    طبق الأوامر على الأسطر التي تطابق (أو لا تطابق) نمطًا معينًا.

he[lp]
    اعرض رسالة مساعدة.

[line] i[nsert][!]
    نص الإدخال يُدرج قبل السطر المحدد.

[range] j[oin][!] [count] [flags]
    اربط أسطر النص معًا.

[range] l[ist] [count] [flags]
    اعرض الأسطر دون لبس.

map[!] [lhs rhs]
    عرّف أو اعرض الخرائط (لوضع vi فقط).

[line] ma[rk] <character>

[line] k <character>
    ميّز السطر بالوسم <character>.

[range] m[ove] line
    انقل الأسطر المحددة لتكون بعد السطر المستهدف.

mk[exrc][!] file
    اكتب الاختصارات، وخيارات المحرر والخرائط في الملف المحدد.

[Nn][ext][!] [file ...]
    حرر الملف التالي من قائمة المعطيات.

[line] o[pen] /pattern/ [flags]
    ادخل إلى الوضع المفتوح.

pre[serve]
    احفظ الملف بتنسيق يمكن استعادته لاحقًا باستخدام خيار ex‏ -r.

[Pp]rev[ious][!]
    حرر الملف السابق من قائمة المعطيات.

[نطاق] p[rint] [عدد] [أعلام]
    اعرض الأسطر المحددة.

[سطر] pu[t] [خبيئة]
    ألحق محتويات الخبيئة بالسطر الحالي.

q[uit][!]
    أنهِ جلسة التحرير.

[سطر] r[ead][!] [ملف]
    اقرأ ملفًا.

rec[over] ملف
    استعد الملف إذا حُفظ سابقًا.

res[ize] [+|-]حجم
    وضع Vi فقط. كبّر أو صغّر الشاشة الحالية.

rew[ind][!]
    أعد لف قائمة المعطيات.

se[t] [خيار[=[قيمة]] ...] [لا_خيار ...] [خيار؟ ...] [الكل]
    اعرض خيارات المحرر أو اضبطها.

sh[ell]
    شغّل برنامج صدفة.

so[urce] ملف
    اقرأ أوامر ex ونفذها من ملف.

[نطاق] s[ubstitute] [/نمط/استبدال/] [خيارات] [عدد] [أعلام]

[نطاق] & [خيارات] [عدد] [أعلام]

[نطاق] ~ [خيارات] [عدد] [أعلام]
    أجرِ الاستبدالات.

su[spend][!]

st[op][!]

<suspend>
    علّق جلسة التحرير.

[Tt]a[g][!] سلسلة_الوسم
    حرر الملف الذي يحتوي على الوسم المحدد.

tagn[ext][!]
    حرر الملف الذي يحتوي على السياق التالي للوسم الحالي.

tagp[op][!] [ملف | رقم]
    انتقل إلى الوسم المحدد في مكدس الأوسمة.

tagp[rev][!]
    حرر الملف الذي يحتوي على السياق السابق للوسم الحالي.

unm[ap][!] lhs
    أزل تعيين سلسلة معينة.

ve[rsion]
    اعرض إصدار محرر ex/vi.

[سطر] vi[sual] [نوع] [عدد] [أعلام]
    وضع Ex فقط. ادخل إلى vi.

[Vi]i[sual][!] [+أمر] [ملف]
    وضع Vi فقط. حرر ملفًا جديدًا.

viu[sage] [أمر]
    اعرض طريقة استخدام أمر vi.

[نطاق] w[rite][!] [>>] [ملف]

[نطاق] w[rite] [!] [ملف]

[نطاق] wn[!] [>>] [ملف]

[نطاق] wq[!] [>>] [ملف]
    اكتب الملف.

[نطاق] x[it][!] [ملف]
    اكتب الملف إذا عُدّل.

[نطاق] ya[nk] [خبيئة] [عدد]
    انسخ الأسطر المحددة إلى خبيئة.

[سطر] z [نوع] [عدد] [أعلام]
    اضبط النافذة.

ضبط الخيارات
هناك عدد كبير من الخيارات التي يمكن ضبطها (أو إلغاء ضبطها) لتغيير سلوك المحرر. يصف هذا القسم الخيارات واختصاراتها وقيمها المبدئية.

في كل مدخلة أدناه، يكون الجزء الأول من سطر الوسم هو الاسم الكامل للخيار، متبوعًا بأي اختصارات مكافئة له. الجزء الموجود بين قوسين مربعين هو القيمة المبدئية للخيار. معظم الخيارات منطقية، أي أنها إما مفعلة أو معطلة، وليس لها قيمة مرتبطة بها.

تنطبق الخيارات على كلي وضعي ex و vi، ما لم يُنص على خلاف ذلك. يمكن إعطاء خيارات متعددة في عملية ضبط أو إلغاء ضبط واحدة، مفصولة بمسافات أو علامات جدولة. يمكن تضمين المسافات وعلامات الجدولة في خيارات السلاسل (مثل tags أو filec) بسبق كل منها بشرطة مائلة عكسية. لا توجد طريقة لإدراج الشرطة المائلة العكسية نفسها في خيار.

altwerase [off]
    وضع Vi فقط. اختر خوارزمية بديلة لمحو الكلمات.

autoindent, ai [off]
    أزِح الأسطر الجديدة آليًا.

autoprint, ap [off]
    وضع Ex فقط. اعرض السطر الحالي آليًا.

autowrite, aw [off]
    اكتب الملفات المعدلة آليًا عند تغيير الملفات.

backup [""]
    أجرِ نسخة احتياطية للملفات قبل الكتابة فوقها.

beautify, bf [off]
    تجاهل محارف التحكم.

cdpath [متغير البيئة CDPATH، أو الدليل الحالي]
    مسارات الدلائل المستخدمة كبادئات مسار لأمر cd.

cedit [لا يوجد مبدئي]
    اضبط المحرف لتحرير تاريخ سطر أوامر النقطتين.

columns, co [80]
    اضبط عدد الأعمدة في الشاشة.

comment [off]
    وضع Vi فقط. تخطّ التعليقات البادئة في ملفات لغات الصدفة و C و C++‎.

directory, dir [متغير البيئة TMPDIR، أو /tmp]
    الدليل الذي تُنشأ فيه الملفات المؤقتة.

edcompatible, ed [off]
    تذكر قيم اللاحقتين "c" و "g" لأوامر substitute، بدلاً من تهيئتها كغير مضبوطة لكل أمر جديد.

errorbells, eb [off]
    وضع Ex فقط. أعلن عن رسائل الخطأ بجرس.

exrc, ex [off]
    اقرأ ملفات بدء التشغيل في الدليل المحلي.

extended [off]
    التعبيرات النمطية هي تعبيرات ممتدة (أي بأسلوب egrep(1)).

filec [لا يوجد مبدئي]
    اضبط المحرف لإكمال مسار الملف في سطر أوامر النقطتين.

flash [on]
    أومض الشاشة بدلاً من إصدار صوت من لوحة المفاتيح عند حدوث خطأ.

hardtabs, ht [8]
    اضبط المسافات بين إعدادات علامة الجدولة المادية.

iclower [off]
    يجعل جميع التعبيرات النمطية غير حساسة لحالة الأحرف، طالما لم يظهر حرف كبير في سلسلة البحث.

ignorecase, ic [off]
    تجاهل فروق حالة الأحرف في التعبيرات النمطية.

keytime [6]
    عدد أعشار الثانية التي ينتظرها ex/vi لمفتاح لاحق لإكمال تعيين مفتاح.

leftright [off]
    وضع Vi فقط. فعّل التمرير من اليسار إلى اليمين.

lines, li [24]
    وضع Vi فقط. اضبط عدد الأسطر في الشاشة.

lisp [off]
    وضع Vi فقط. عدّل أوامر البحث والخيارات المختلفة لتعمل مع Lisp. هذا الخيار لم يُنفذ بعد.

list [off]
    اعرض الأسطر بطريقة غير غامضة.

lock [on]
    حاول الحصول على قفل حصري على أي ملف يجري تحريره أو قراءته أو كتابته.

magic [on]
    عامل محارف معينة معاملة خاصة في التعبيرات النمطية.

matchtime [7]
    للمحرر Vi فقط. عدد أعشار الثانية التي يتوقفها ex/vi عند المحرف المطابق عندما يكون خيار showmatch مضبوطًا.

mesg [on]
    السماح بالرسائل من المستخدمين الآخرين.

modelines, modeline [off]
    قراءة الأسطر القليلة الأولى والأخيرة من كل ملف بحثًا عن أوامر ex. هذا الخيار لن يُنفذ أبدًا.

noprint [""]
    المحارف التي لا تُعامل أبدًا كمحارف قابلة للطباعة.

number, nu [off]
    سبق كل سطر معروض برقمه الحالي.

octal [off]
    عرض المحارف المجهولة كأرقام ثمانية، بدلاً من نظام الستة عشر المبدئي.

open [on]
    للمحرر Ex فقط. إذا لم يُضبط هذا الخيار، سيُمنع استخدام أمري open وvisual.

optimize, opt [on]
    للمحرر Vi فقط. تحسين إنتاجية النص للطرفيات الغبية. هذا الخيار لم يُنفذ بعد.

paragraphs, para [IPLPPP"PP LIpplpipbp]
    للمحرر Vi فقط. تحديد حدود إضافية للفقرات لأمري { و}.

path []
    تحديد أدلة إضافية للبحث عن الملفات التي تُحرر.

print [""]
    المحارف التي تُعامل دائمًا كمحارف قابلة للطباعة.

prompt [on]
    للمحرر Ex فقط. عرض محث الأوامر.

readonly, ro [off]
    وسم الملف والجلسة كقراءة فقط.

recdir [/var/tmp/vi.recover]
    الدليل الذي تُخزن فيه ملفات الاستعادة.

redraw, re [off]
    للمحرر Vi فقط. محاكاة طرفية ذكية على طرفية غبية. هذا الخيار لم يُنفذ بعد.

remap [on]
    إعادة تعيين المفاتيح حتى تُحل.

report [5]
    ضبط عدد الأسطر التي يُبلغ المحرر عن تغييرها أو نسخها (yanks).

ruler [off]
    للمحرر Vi فقط. عرض مسطرة صف/عمود على سطر أوامر النقطتين.

scroll, scr [window / 2]
    ضبط عدد الأسطر التي تُزاح.

searchincr [off]
    يجعل أمري / و? تزايديين.

sections, sect [NHSHH HUnhsh]
    للمحرر Vi فقط. تحديد حدود إضافية للأقسام لأمري [[ و]].

secure [off]
    إيقاف كل أنواع الوصول إلى البرامج الخارجية.

shell, sh [متغير البيئة SHELL، أو /bin/sh]
    اختيار الصدفة التي يستخدمها المحرر.

shellmeta [~{[*?$`'"\]
    ضبط محارف الميتا التي تُفحص لتحديد ما إذا كان توسيع اسم الملف ضروريًا.

shiftwidth, sw [8]
    ضبط عرض الإزاحة للإزاحة الآلية وأوامر الإزاحة.

showmatch, sm [off]
    للمحرر Vi فقط. ملاحظة مطابقة المحارف «{» و «(» للمحارف «}» و «)».

showmode, smd [off]
    للمحرر Vi فقط. عرض وضع المحرر الحالي وعلامة «عُدل».

sidescroll [16]
    للمحرر Vi فقط. ضبط مقدار الإزاحة عند التمرير يمينًا ويسارًا.

slowopen, slow [off]
    تأخير تحديث العرض أثناء إدخال النص. هذا الخيار لم يُنفذ بعد.

sourceany [off]
    قراءة ملفات بدء التشغيل التي لا يملكها المستخدم الحالي. هذا الخيار لن يُنفذ أبدًا.

tabstop, ts [8]
    يضبط هذا الخيار عرض علامات الجدولة لعرض المحرر.

taglength, tl [0]
    ضبط عدد المحارف المهمة في أسماء الوسوم.

tags, tag [tags /var/db/libc.tags /sys/kern/tags]
    ضبط قائمة ملفات الوسوم.

term, ttytype, tty [متغير البيئة TERM]
    ضبط نوع الطرفية.

terse [off]
    تاريخيًا، كان هذا الخيار يجعل رسائل المحرر أقل إسهابًا. ليس له تأثير في هذا التنفيذ.

tildeop [off]
    تعديل أمر ~ ليقبل حركة مرتبطة به.

timeout, to [on]
    انتهاء مهلة المفاتيح التي قد تكون معينة.

ttywerase [off]
    للمحرر Vi فقط. اختيار خوارزمية مسح بديلة.

verbose [off]
    للمحرر Vi فقط. عرض رسالة خطأ لكل خطأ.

w300 [لا يوجد مبدئي]
    للمحرر Vi فقط. ضبط حجم النافذة إذا كان معدل الباود أقل من 1200 باود.

w1200 [لا يوجد مبدئي]
    للمحرر Vi فقط. ضبط حجم النافذة إذا كان معدل الباود يساوي 1200 باود.

w9600 [لا يوجد مبدئي]
    للمحرر Vi فقط. ضبط حجم النافذة إذا كان معدل الباود أكبر من 1200 باود.

warn [on]
    للمحرر Ex فقط. يتسبب هذا الخيار في ظهور رسالة تحذير على الطرفية إذا عُدل الملف منذ آخر كتابة له، وذلك قبل تنفيذ أمر !.

window, w, wi [متغير البيئة LINES]
    ضبط حجم نافذة الشاشة.

windowname [off]
    تغيير اسم الأيقونة/النافذة إلى اسم الملف الحالي حتى لو تعذر استعادته عند الخروج من المحرر.

wraplen, wl [0]
    للمحرر Vi فقط. كسر الأسطر آليًا عند عدد معين من الأعمدة من الهامش الأيسر. إذا ضُبط خيارا التحرير wraplen وwrapmargin معًا، تُستخدم قيمة wrapmargin.

wrapmargin, wm [0]
    للمحرر Vi فقط. كسر الأسطر آليًا عند عدد معين من الأعمدة من الهامش الأيمن. إذا ضُبط خيارا التحرير wraplen وwrapmargin معًا، تُستخدم قيمة wrapmargin.

wrapscan, ws [on]
    ضبط البحث ليلتف حول نهاية الملف أو بدايته.

writeany, wa [off]
    إيقاف فحوصات الكتابة فوق الملفات.

متغيرات البيئة

COLUMNS
    عدد الأعمدة على الشاشة. تتجاوز هذه القيمة أي قيم خاصة بالنظام أو الطرفية. إذا لم يُضبط متغير البيئة COLUMNS عند تشغيل ex/vi، أو أعاد المستخدم ضبط خيار columns صراحةً، فإن ex/vi يُدخل القيمة في البيئة.

EXINIT
    قائمة بأوامر بدء تشغيل ex، تُقرأ إذا لم يكن المتغير NEXINIT مضبوطًا.

HOME
    دليل منزل المستخدم، ويُستخدم كمسار الدليل المبدئي لملفات بدء التشغيل «$HOME/.nexrc» و «$HOME/.exrc». تُستخدم هذه القيمة أيضًا كدليل مبدئي لأمر cd في vi.

LINES
    عدد الصفوف على الشاشة. تتجاوز هذه القيمة أي قيم خاصة بالنظام أو الطرفية. إذا لم يُضبط متغير البيئة LINES عند تشغيل ex/vi، أو أعاد المستخدم ضبط خيار lines صراحةً، فإن ex/vi يُدخل القيمة في البيئة.

NEXINIT
    قائمة بأوامر بدء تشغيل ex.

الصدفة
    الصدفة التي يختارها المستخدم (انظر أيضًا خيار shell).

TERM
    نوع طرفية المستخدم. النوع المبدئي هو «unknown». إذا لم يُضبط متغير البيئة TERM عند تشغيل ex/vi، أو أعاد المستخدم ضبط خيار term صراحةً، فإن ex/vi يُدخل القيمة في البيئة.

TMPDIR
    الموقع المستخدم لتخزين الملفات المؤقتة (انظر أيضًا خيار تحرير directory).

الأحداث غير المتزامنة

SIGALRM
    يستخدم Vi/ex هذه الإشارة لعمل نسخ احتياطية دورية لتعديلات الملفات ولعرض رسائل «مشغول» عندما يحتمل أن تستغرق العمليات وقتًا طويلاً.

SIGHUP

SIGTERM
    إذا تغيّر المخزن المؤقت الحالي منذ آخر كتابة كاملة له، يحاول المحرر حفظ الملف المعدّل ليتسنى استرداده لاحقًا. انظر قسم دليل مرجع vi/ex المعنون “الاسترداد” لمزيد من المعلومات.

SIGINT
    عند حدوث مقاطعة، توقَف العملية الحالية، ويعود المحرر إلى مستوى الأمر. إذا قوطع المحرر أثناء إدخال النص، يُثبّت النص الذي أُدخل بالفعل في الملف كما لو أن إدخال النص قد أُنهي بشكل طبيعي.

SIGWINCH
    تُغيّر أبعاد الشاشة. انظر قسم دليل مرجع vi/ex المعنون “تغيير حجم الشاشة” لمزيد من المعلومات.

SIGCONT

SIG"UIT

SIGTSTP
    يتجاهل Vi/ex هذه الإشارات.

الملفات

/bin/sh
    صدفة المستخدم المبدئية.

/etc/vi.exrc
    ملف بدء تشغيل vi على مستوى النظام.

/tmp
    دليل الملفات المؤقتة.

/var/tmp/vi.recover
    دليل ملفات الاسترداد المبدئي.

$HOME/.nexrc
    الخيار الأول لملف بدء التشغيل في دليل منزل المستخدم.

$HOME/.exrc
    الخيار الثاني لملف بدء التشغيل في دليل منزل المستخدم.

.nexrc
    الخيار الأول لملف بدء التشغيل في الدليل المحلي.

.exrc
    الخيار الثاني لملف بدء التشغيل في الدليل المحلي.

انظر أيضًا
ctags(1)، more(1)، curses(3)، dbopen(3)

بطاقة “مرجع Vi السريع”.

“مقدمة في تحرير العرض باستخدام Vi”، الموجود في قسم “وثائق دليل مستخدم يونكس الإضافية” في كل من مجموعتي أدلة 4.3BSD و 4.4BSD. هذا المستند هو أقرب شيء متاح كمقدمة لمحرر الشاشة vi.

“دليل مرجع Ex (الإصدار 3.7)”، الموجود في قسم “وثائق دليل مستخدم يونكس الإضافية” في كل من مجموعتي أدلة 4.3BSD و 4.4BSD. هذا المستند هو المرجع النهائي لمحرر ex، كما وُزع في معظم أنظمة 4BSD و System V التاريخية.

“التحرير: درس تعليمي”، الموجود في قسم “وثائق دليل مستخدم يونكس الإضافية” في مجموعة أدلة 4.3BSD. هذا المستند هو مقدمة لنسخة بسيطة من محرر الشاشة ex.

“دليل مرجع Ex/Vi”، الموجود في قسم “وثائق دليل مستخدم يونكس الإضافية” في مجموعة أدلة 4.4BSD. هذا المستند هو المرجع النهائي لمحرري النصوص nex/nvi، كما وُزعا في 4.4BSD و 4.4BSD-Lite.

توزّع مصادر Roff لجميع هذه المستندات مع nex/nvi في دليل nvi/USD.doc لشفرة المصدر الخاصة بـ nex/nvi.

الملفات “autowrite” و “input” و “quoting” و “structures” الموجودة في دليل nvi/docs/internals لشفرة مصدر nex/nvi.

التاريخ
ظهرت بدائل nex/nvi لمحرر ex/vi لأول مرة في 4.4BSD.

المعايير
يقترب Nex/nvi من معيار IEEE Std1003.2 (“POSIX”). تختلف تلك الوثيقة عن ممارسات ex/vi التاريخية في عدة مواضع؛ وهناك تغييرات يجب إجراؤها على كلا الجانبين.

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

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

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