vim - محرر نصوص Vi المُحسَّن
الملخص
vim [خيارات] [ملف ..]
vim [خيارات] vim [خيارات] -t علامة
vim [خيارات] -q [ملف_الأخطاء]
ex
view
gvim gview evim eview
rvim rview rgvim rgview
الوصف
Vim هو محرر نصوص متوافق مع Vi. يمكن استخدامه لتحرير جميع أنواع النصوص العادية. وهو مفيد بشكل خاص لتحرير البرامج.
هناك العديد من التحسينات مقارنة بـ Vi: التراجع متعدد المستويات، النوافذ والمخازن المؤقتة المتعددة، تمييز بناء الجملة، تحرير سطر الأوامر، إكمال اسم الملف، مساعدة عبر الإنترنت، التحديد المرئي، إلخ. راجع ":help vi_diff.txt" للحصول على ملخص للاختلافات بين Vim و Vi.
أثناء تشغيل Vim، يمكن الحصول على الكثير من المساعدة من نظام المساعدة عبر الإنترنت، باستخدام الأمر ":help". راجع قسم "المساعدة عبر الإنترنت" أدناه.
في أغلب الأحيان، يتم تشغيل Vim لتحرير ملف واحد باستخدام الأمر:
vim ملف
بشكل عام، يتم تشغيل Vim باستخدام:
vim [خيارات] [قائمة_الملفات]
إذا كانت قائمة الملفات مفقودة، فسيتم تشغيل المحرر مع مخزن مؤقت فارغ. وإلا، يمكن استخدام أحد الخيارات الأربعة التالية لاختيار ملف واحد أو أكثر لتحريره.
ملف .. قائمة بأسماء الملفات. سيتم قراءة الملف الأول كملف حالي ووضعه في المخزن المؤقت. سيتم وضع المؤشر على السطر الأول من المخزن المؤقت. يمكنك الانتقال إلى الملفات الأخرى باستخدام الأمر ":next". لتحرير ملف يبدأ بشرطة، ضع قائمة الملفات بين علامتي "--".
- يتم قراءة الملف المراد تحريره من الإدخال القياسي (stdin). تتم قراءة الأوامر من الخطأ القياسي (stderr)، والذي يجب أن يكون جهاز طرفي (tty).
-t {علامة} يعتمد الملف الذي سيتم تحريره والموضع الأولي للمؤشر على "علامة"، وهي نوع من تسميات الانتقال. يتم البحث عن {علامة} في ملف العلامات، ويصبح الملف المرتبط هو الملف الحالي، ويتم تنفيذ الأمر المرتبط. غالبًا ما يتم استخدام هذا مع برامج C، وفي هذه الحالة يمكن أن يكون {علامة} اسم دالة. النتيجة هي أن الملف الذي يحتوي على تلك الدالة يصبح الملف الحالي ويتم وضع المؤشر على بداية الدالة. راجع ":help tag-commands".
-q [ملف_الأخطاء]
ابدأ في وضع quickFix. يتم قراءة ملف [ملف_الأخطاء] ويتم عرض الخطأ الأول. إذا تم حذف [ملف_الأخطاء]، يتم الحصول على اسم الملف من خيار 'errorfile' (افتراضيًا "AztecC.Err" لنظام Amiga، و "errors.err" على الأنظمة الأخرى). يمكن الانتقال إلى الأخطاء اللاحقة باستخدام الأمر ":cn". راجع ":help quickfix".
يتصرف Vim بشكل مختلف، اعتمادًا على اسم الأمر (قد يكون الملف القابل للتنفيذ هو نفسه).
vim الطريقة "العادية"، وكل شيء يكون افتراضيًا.
ex ابدأ في وضع Ex. انتقل إلى الوضع العادي باستخدام الأمر ":vi". يمكن أيضًا القيام بذلك باستخدام الوسيطة "-e".
view ابدأ في وضع القراءة فقط. سيتم حمايتك من كتابة الملفات. يمكن أيضًا القيام بذلك باستخدام الوسيطة "-R".
gvim gview
الإصدار الرسومي. يبدأ نافذة جديدة. يمكن أيضًا القيام بذلك باستخدام الوسيطة "-g".
evim eview
الإصدار الرسومي في الوضع السهل. يبدأ نافذة جديدة. يمكن أيضًا القيام بذلك باستخدام الوسيطة "-y".
rvim rview rgvim rgview
مثل ما سبق، ولكن مع قيود. لن يكون من الممكن بدء أوامر shell أو تعليق Vim. يمكن أيضًا القيام بذلك باستخدام الوسيطة "-Z".
الخيارات
يمكن إعطاء الخيارات بأي ترتيب، قبل أو بعد أسماء الملفات. يمكن دمج الخيارات التي لا تحتوي على وسيطة بعد شرطة واحدة.
+[رقم] بالنسبة للملف الأول، سيتم وضع المؤشر على السطر "رقم". إذا كان "رقم" مفقودًا، فسيتم وضع المؤشر على السطر الأخير.
+/{نمط} بالنسبة للملف الأول، سيتم وضع المؤشر في السطر الذي يحتوي على أول ظهور لـ "{نمط}". انظر ":help search-pattern" للحصول على أنماط البحث المتاحة.
+{أمر}
-c {أمر}
سيتم تنفيذ "{أمر}" بعد قراءة الملف الأول. يتم تفسير "{أمر}" كأمر Ex. إذا كان "{أمر}" يحتوي على مسافات، فيجب وضعه داخل علامتي اقتباس مزدوجتين (يعتمد هذا على shell المستخدم). مثال: vim "+set si" main.c
لاحظ: يمكنك استخدام ما يصل إلى 10 أوامر "+" أو "-c".
-A إذا تم تجميع Vim مع دعم اللغة العربية لتحرير الملفات الموجهة من اليمين إلى اليسار وتعيين لوحة مفاتيح عربية، فإن هذا الخيار يبدأ Vim في وضع اللغة العربية، أي يتم تعيين 'arabic'. وإلا، فستظهر رسالة خطأ ويتوقف Vim.
-b الوضع الثنائي. سيتم تعيين بعض الخيارات التي تجعل من الممكن تحرير ملف ثنائي أو ملف قابل للتنفيذ.
-C وضع التوافق. يتم تعيين خيار 'compatible'. سيؤدي هذا إلى جعل Vim يتصرف إلى حد كبير مثل Vi، حتى إذا كان هناك ملف .vimrc.
-d ابدأ في وضع المقارنة. يجب أن يكون هناك ما بين ملفين إلى ثمانية وسائط لاسم الملف. سيفتح Vim جميع الملفات ويعرض الاختلافات بينها. يعمل مثل vimdiff(1).
-d {جهاز}، -dev {جهاز}
افتح {جهاز} لاستخدامه كطرفية. فقط على Amiga. مثال: "-d con:20/30/600/150".
-D تصحيح الأخطاء. انتقل إلى وضع التصحيح عند تنفيذ الأمر الأول من البرنامج النصي.
-e ابدأ Vim في وضع Ex، تمامًا كما لو تم استدعاء الملف القابل للتنفيذ باسم "ex".
-E ابدأ Vim في وضع Ex المحسن، تمامًا كما لو تم استدعاء الملف القابل للتنفيذ باسم "exim".
-f بالنسبة للإصدار الرسومي، لن يقوم Vim بالفرع والانفصال عن shell الذي تم تشغيله منه. على Amiga، لن يتم إعادة تشغيل Vim لفتح نافذة جديدة. يجب استخدام هذا الخيار عندما يتم تنفيذ Vim بواسطة برنامج سينتظر انتهاء جلسة التحرير (على سبيل المثال، البريد). على Amiga، لن تعمل الأوامر ":sh" و ":!".
-F إذا تم تجميع Vim مع دعم FKMAP لتحرير الملفات الموجهة من اليمين إلى اليسار وتعيين لوحة مفاتيح فارسي، فإن هذا الخيار يبدأ Vim في وضع الفارسي، أي يتم تعيين 'fkmap' و 'rightleft'. وإلا، فستظهر رسالة خطأ ويتوقف Vim.
ملحوظة: تمت إزالة دعم الفارسي في الإصدار 8.1.0932.
-g إذا تم تجميع Vim مع دعم واجهة المستخدم الرسومية، فإن هذا الخيار يمكّن واجهة المستخدم الرسومية. إذا لم يتم تجميع دعم واجهة المستخدم الرسومية، فستظهر رسالة خطأ ويتوقف Vim.
-H إذا تم تجميع Vim مع دعم RIGHTLEFT لتحرير الملفات ذات الاتجاه من اليمين إلى اليسار وتعيين تخطيط لوحة المفاتيح العبرية، فإن هذا الخيار يبدأ Vim في وضع اللغة العبرية، أي يتم تعيين 'hkmap' و 'rightleft'. وإلا، فستظهر رسالة خطأ ويتوقف Vim.
-i {viminfo}
يحدد اسم الملف الذي سيتم استخدامه عند قراءة أو كتابة ملف viminfo، بدلاً من القيمة الافتراضية "~/.viminfo". يمكن استخدامه أيضًا لتخطي استخدام ملف .viminfo، عن طريق إعطاء الاسم "NONE".
-l وضع Lisp. يقوم بتعيين خيارات 'lisp' و 'showmatch'.
-L نفس الخيار -r.
-m تعطيل تعديل الملفات. يقوم بإعادة تعيين خيار 'write'. لا يزال بإمكانك تعديل المخزن المؤقت، ولكن لا يمكن كتابة ملف.
-M لا يُسمح بالتعديلات. سيتم إلغاء تعيين خيارات 'modifiable' و 'write'، بحيث لا يُسمح بإجراء تغييرات ولا يمكن كتابة الملفات. لاحظ أنه يمكن تعيين هذه الخيارات للسماح بإجراء تعديلات.
-n لن يتم استخدام ملف التبادل. سيكون الاسترداد بعد التعطل مستحيلاً. هذا مفيد إذا كنت تريد تحرير ملف على وسيط بطيء للغاية (مثل القرص المرن). يمكن أيضًا القيام بذلك باستخدام ":set uc=0". يمكن إلغاؤه باستخدام ":set uc=200".
-N وضع عدم التوافق. يقوم بإعادة تعيين خيار 'compatible'. سيؤدي هذا إلى جعل Vim يتصرف بشكل أفضل قليلاً، ولكنه سيكون أقل توافقًا مع Vi، حتى لو لم يكن هناك ملف .vimrc.
-nb يصبح محرر خادم لـ NetBeans. راجع الوثائق للحصول على التفاصيل.
-o[N] افتح N من النوافذ مكدسة. عندما يتم حذف N، افتح نافذة واحدة لكل ملف.
-O[N] افتح N من النوافذ جنبًا إلى جنب. عندما يتم حذف N، افتح نافذة واحدة لكل ملف.
-p[N] افتح N من علامات التبويب. عندما يتم حذف N، افتح علامة تبويب واحدة لكل ملف.
-P {parent-title}
خاص بواجهة المستخدم الرسومية لنظام التشغيل Windows: حدد عنوان التطبيق الأصل. عندما يكون ذلك ممكنًا، سيتم تشغيل Vim في نافذة MDI داخل التطبيق. يجب أن يظهر {parent-title} في عنوان نافذة التطبيق الأصل. تأكد من أنه محدد بما فيه الكفاية. لاحظ أن التنفيذ لا يزال بدائيًا. لن يعمل مع جميع التطبيقات ولا تعمل القائمة.
-r سرد ملفات التبادل، مع معلومات حول استخدامها للاسترداد.
-r {file} وضع الاسترداد. يتم استخدام ملف التبادل لاستعادة جلسة تحرير تعرضت للتعطل. ملف التبادل هو ملف بنفس اسم ملف النص مع إضافة ".swp". انظر ":help recovery".
-R وضع للقراءة فقط. سيتم تعيين خيار 'readonly'. لا يزال بإمكانك تعديل المخزن المؤقت، ولكن سيتم منعك من الكتابة فوق ملف عن طريق الخطأ. إذا كنت تريد الكتابة فوق ملف، فأضف علامة تعجب إلى أمر Ex، مثل ":w!". يؤدي خيار -R أيضًا إلى تضمين خيار -n (انظر أعلاه). يمكن إعادة تعيين خيار 'readonly' باستخدام ":set noro". انظر ":help 'readonly'".
-s وضع صامت. يتم تفعيله فقط عند بدء التشغيل كـ "Ex" أو عند إعطاء الخيار "-e" قبل الخيار "-s".
-s {scriptin}
يتم قراءة ملف البرنامج النصي {scriptin}. يتم تفسير الأحرف الموجودة في الملف كما لو كنت قد كتبتها. يمكن تحقيق ذلك أيضًا باستخدام الأمر ":source! {scriptin}". إذا تم الوصول إلى نهاية الملف قبل الخروج من المحرر، فسيتم قراءة أحرف إضافية من لوحة المفاتيح.
-S {file} سيتم استخدام {file} كمصدر بعد قراءة الملف الأول. هذا يعادل الخيار "-c "source {file}". لا يمكن أن يبدأ {file} بـ '-'. إذا تم حذف {file}، فسيتم استخدام "Session.vim" (يعمل فقط عندما يكون -S هو آخر وسيطة).
-T {terminal}
يخبر Vim باسم المحطة الطرفية التي تستخدمها. مطلوب فقط عندما لا تعمل الطريقة التلقائية. يجب أن يكون محطة طرفية معروفة لـ Vim (مضمنة) أو معرّفة في ملف termcap أو terminfo.
-u {vimrc} استخدم الأوامر الموجودة في الملف {vimrc} للتهيئة. يتم تخطي جميع عمليات التهيئة الأخرى. استخدم هذا لتحرير نوع خاص من الملفات. يمكن استخدامه أيضًا لتخطي جميع عمليات التهيئة عن طريق إعطاء الاسم "NONE". راجع ":help initialization" داخل Vim لمزيد من التفاصيل.
-U {gvimrc} استخدم الأوامر الموجودة في الملف {gvimrc} لتهيئة واجهة المستخدم الرسومية. يتم تخطي جميع عمليات تهيئة واجهة المستخدم الرسومية الأخرى. يمكن استخدامه أيضًا لتخطي جميع عمليات تهيئة واجهة المستخدم الرسومية عن طريق إعطاء الاسم "NONE". راجع ":help gui-init" داخل Vim لمزيد من التفاصيل.
-v ابدأ Vim في وضع Vi، تمامًا كما لو تم استدعاء الملف القابل للتنفيذ باسم "vi". يكون لهذا تأثير فقط عندما يتم استدعاء الملف القابل للتنفيذ باسم "ex".
-V[N] مفصل. اطبع رسائل حول الملفات التي يتم استخدامها كمصدر، وعن القراءة والكتابة إلى ملف viminfo. الرقم الاختياري N هو قيمة 'verbose'. القيمة الافتراضية هي 10.
-V[N]{filename}
مثل -V وقم بتعيين 'verbosefile' إلى {filename}. والنتيجة هي أن الرسائل لا يتم عرضها ولكن يتم كتابتها في الملف {filename}. يجب ألا يبدأ {filename} برقم.
-w{number} قم بتعيين خيار 'window' إلى {number}.
-w {scriptout}
يتم تسجيل جميع الأحرف التي تكتبها في الملف {scriptout}، حتى تخرج من Vim. هذا مفيد إذا كنت تريد إنشاء ملف برنامج نصي لاستخدامه مع "vim -s" أو ":source!". إذا كان ملف {scriptout} موجودًا، فسيتم إلحاق الأحرف.
-W {scriptout}
مثل -w، ولكن يتم الكتابة فوق الملف الموجود.
-x إذا تم تجميع Vim مع دعم التشفير، فاستخدم التشفير عند كتابة الملفات. سيطلب مفتاح تشفير.
-X لا تتصل بخادم X. يقلل من وقت بدء التشغيل في محطة طرفية، ولكن لن يتم استخدام عنوان النافذة أو الحافظة.
-Y لا تتصل بمركب Wayland.
-y ابدأ Vim في الوضع السهل، تمامًا كما لو تم استدعاء الملف القابل للتنفيذ باسم "evim" أو "eview". يجعل Vim يتصرف كـ محرر يعتمد على النقر والنوع.
-Z وضع مقيّد. يعمل كما لو تم تشغيل الملف التنفيذي باستخدام "r".
-- يشير إلى نهاية الخيارات. سيتم التعامل مع الوسائط التي تلي هذا كاسم ملف.
يمكن استخدامه لتحرير اسم ملف يبدأ بـ "-".
--clean لا تستخدم أي تكوين شخصي (ملف vimrc، والإضافات، وما إلى ذلك). من المفيد معرفة ما إذا كانت المشكلة تتكرر باستخدام إعداد Vim نظيف.
--cmd {command}
مثل استخدام "-c"، ولكن يتم تنفيذ الأمر مباشرة قبل معالجة أي ملف vimrc.
يمكنك استخدام ما يصل إلى 10 أوامر، بشكل مستقل عن أوامر "-c".
--echo-wid واجهة GTK الرسومية فقط: قم بإخراج معرف النافذة إلى stdout.
--gui-dialog-file {name}
عند استخدام الواجهة الرسومية، بدلاً من عرض مربع حوار، اكتب عنوان ورسالة مربع الحوار إلى الملف {name}. يتم إنشاء الملف أو إلحاقه. مفيد فقط للاختبار، لتجنب توقف الاختبار على مربع حوار لا يمكن رؤيته. بدون الواجهة الرسومية، يتم تجاهل الوسيطة.
--help, -h, -?
يقدم بعض المساعدة حول وسيطات وخيارات سطر الأوامر. بعد ذلك يخرج Vim.
--literal خذ وسيطات أسماء الملفات بشكل حرفي، ولا تقم بتوسيع أحرف البدل. ليس له أي تأثير على نظام التشغيل Unix حيث يقوم shell بتوسيع أحرف البدل.
--log {filename}
إذا تم تجميع Vim مع ميزة eval و channel، فابدأ التسجيل واكتب الإدخالات في {filename}. يعمل هذا كما لو كنت تستدعي ch_logfile({filename}, 'ao') في وقت مبكر جدًا أثناء بدء التشغيل.
--nofork الخلفية. بالنسبة للإصدار GUI، لن يقوم Vim بالفرع والانفصال عن shell الذي تم تشغيله منه.
--noplugin تخطي تحميل الإضافات. ضمني بواسطة -u NONE.
--not-a-term
يخبر Vim بأن المستخدم يعرف أن الإدخال و/أو الإخراج غير متصلين بمحطة طرفية. سيؤدي ذلك إلى تجنب التحذير والتأخير البالغ مدته ثانيتين الذي سيحدث.
--remote اتصل بخادم Vim واجعله يقوم بتحرير الملفات المحددة في بقية الوسائط. إذا لم يتم العثور على خادم، يتم إعطاء تحذير ويتم تحرير الملفات في Vim الحالي.
--remote-expr {expr}
اتصل بخادم Vim، وقم بتقييم {expr} فيه، واطبع النتيجة على stdout.
--remote-send {keys}
اتصل بخادم Vim وأرسل {keys} إليه.
--remote-silent
مثل --remote، ولكن بدون التحذير عند عدم العثور على خادم.
--remote-wait
مثل --remote، ولكن لا يخرج Vim حتى يتم تحرير الملفات.
--remote-wait-silent
مثل --remote-wait، ولكن بدون التحذير عند عدم العثور على خادم.
--serverlist
سرد أسماء جميع خوادم Vim التي يمكن العثور عليها.
--servername {name}
استخدم {name} كاسم الخادم. يستخدم للإصدار الحالي من Vim، ما لم يتم استخدامه مع وسيطة --remote، ثم يكون اسم الخادم الذي سيتم الاتصال به. إذا كان يتم استخدام الواجهة الخلفية socketserver، إذا بدأ الاسم بـ "/" أو "./" أو "../"، فسيتم أخذه على أنه مسار مطلق أو نسبي أو مسار نسبي للمقبس.
--clientserver {backend}
استخدم {backend} كواجهة خلفية لوظيفة clientserver، إما "socket" أو "x11" على التوالي. متوفر فقط عند تجميعه مع كل من ميزات socketserver و X11.
--socketid {id}
فقط واجهة GTK: استخدم آلية GtkPlug لتشغيل gVim في نافذة أخرى.
--startuptime {file}
أثناء بدء التشغيل، اكتب رسائل التوقيت في الملف {fname}.
--ttyfail
عندما لا يكون stdin أو stdout عبارة عن طرفية (tty)، قم بالخروج على الفور.
--version
اطبع معلومات الإصدار واخرج.
--windowid {id}
فقط واجهة Win32 GUI: اجعل gVim يحاول استخدام النافذة {id} كنافذة أصل، بحيث يتم تشغيله داخل تلك النافذة.
تعليمات عبر الإنترنت
اكتب ":help" في Vim للبدء. اكتب ":help subject" للحصول على مساعدة حول موضوع معين. على سبيل المثال: ":help ZZ" للحصول على مساعدة حول الأمر "ZZ". استخدم
الملفات
/usr/local/share/vim/vim??/doc/*.txt
ملفات توثيق Vim. استخدم ":help doc-file-list" للحصول على القائمة الكاملة.
vim?? هو رقم الإصدار القصير، مثل vim91 لـ Vim 9.1
/usr/local/share/vim/vim??/doc/tags
ملف العلامات المستخدم للعثور على معلومات في ملفات التوثيق.
/usr/local/share/vim/vim??/syntax/syntax.vim
تهيئة بناء الجملة على مستوى النظام.
/usr/local/share/vim/vim??/syntax/*.vim
ملفات بناء الجملة للغات مختلفة.
/usr/local/share/vim/vimrc
تهيئة Vim على مستوى النظام.
~/.vimrc, ~/.vim/vimrc, $XDG_CONFIG_HOME/vim/vimrc
تهيئة Vim الشخصية الخاصة بك (يتم استخدام الأول الذي تم العثور عليه).
/usr/local/share/vim/gvimrc
تهيئة gvim على مستوى النظام.
~/.gvimrc, ~/.vim/gvimrc, $XDG_CONFIG_HOME/vim/gvimrc
تهيئة gVim الشخصية الخاصة بك (يتم استخدام الأول الذي تم العثور عليه).
/usr/local/share/vim/vim??/optwin.vim
النص البرمجي المستخدم للأمر ":options"، وهي طريقة رائعة لعرض الخيارات وتعيينها.
/usr/local/share/vim/vim??/menu.vim
تهيئة القائمة على مستوى النظام لـ gVim.
/usr/local/share/vim/vim??/bugreport.vim
نص برمجي لإنشاء تقرير عن الأخطاء. انظر ":help bugs".
/usr/local/share/vim/vim??/filetype.vim
نص برمجي لاكتشاف نوع الملف بناءً على اسمه. انظر ":help 'filetype'".
/usr/local/share/vim/vim??/scripts.vim
نص برمجي لاكتشاف نوع الملف بناءً على محتواه. انظر ":help 'filetype'".
/usr/local/share/vim/vim??/print/*.ps
الملفات المستخدمة للطباعة بتنسيق PostScript.
للحصول على أحدث المعلومات، اقرأ الصفحة الرئيسية لـ VIM:
<URL:http://www.vim.org/>
انظر أيضاً
vimtutor(1)
المؤلف
تم إنشاء معظم Vim بواسطة Bram Moolenaar، مع الكثير من المساعدة من الآخرين. انظر ":help credits" في Vim. يعتمد Vim على Stevie، الذي عمل عليه: Tim Thompson و Tony Andrews و G.R. (Fred) Walter. على الرغم من أن بالكاد بقي أي من الكود الأصلي.
الأخطاء
ربما. انظر ":help todo" للحصول على قائمة بالمشاكل المعروفة. لاحظ أن عددًا من الأمور التي قد يعتبرها البعض أخطاء، هي في الواقع ناتجة عن إعادة إنتاج دقيقة لسلوك Vi. وإذا كنت تعتقد أن أشياء أخرى هي أخطاء "لأن Vi يفعلها بشكل مختلف"، فيجب عليك إلقاء نظرة فاحصة على ملف vi_diff.txt (أو اكتب :help vi_diff.txt أثناء وجودك في Vim). انظر أيضًا إلى الخيارات 'compatible' و 'cpoptions'.