اذهب إلى المحتوى

البحث في الموقع

المحتوى عن 'vim'.

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المحتوى


التصنيفات

  • الإدارة والقيادة
  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • السلوك التنظيمي في المؤسسات
  • عالم الأعمال
  • التجارة والتجارة الإلكترونية
  • نصائح وإرشادات
  • مقالات ريادة أعمال عامة

التصنيفات

  • مقالات برمجة عامة
  • مقالات برمجة متقدمة
  • PHP
    • Laravel
    • ووردبريس
  • جافاسكربت
    • لغة TypeScript
    • Node.js
    • React
    • Vue.js
    • Angular
    • jQuery
    • Cordova
  • HTML
  • CSS
    • Sass
    • إطار عمل Bootstrap
  • SQL
  • لغة C#‎
    • ‎.NET
    • منصة Xamarin
  • لغة C++‎
  • لغة C
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • لغة Rust
  • برمجة أندرويد
  • لغة R
  • الذكاء الاصطناعي
  • صناعة الألعاب
  • سير العمل
    • Git
  • الأنظمة والأنظمة المدمجة

التصنيفات

  • تصميم تجربة المستخدم UX
  • تصميم واجهة المستخدم UI
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب GIMP
    • كريتا Krita
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • نصائح وإرشادات
  • مقالات تصميم عامة

التصنيفات

  • مقالات DevOps عامة
  • خوادم
    • الويب HTTP
    • البريد الإلكتروني
    • قواعد البيانات
    • DNS
    • Samba
  • الحوسبة السحابية
    • Docker
  • إدارة الإعدادات والنشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
    • ريدهات (Red Hat)
  • خواديم ويندوز
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • شبكات
    • سيسكو (Cisco)

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • استسراع النمو
  • المبيعات
  • تجارب ونصائح
  • مبادئ علم التسويق

التصنيفات

  • مقالات عمل حر عامة
  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • العمل الحر المهني
    • العمل بالترجمة
    • العمل كمساعد افتراضي
    • العمل بكتابة المحتوى

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
    • بريستاشوب
    • أوبن كارت
    • دروبال
  • الترجمة بمساعدة الحاسوب
    • omegaT
    • memoQ
    • Trados
    • Memsource
  • برامج تخطيط موارد المؤسسات ERP
    • تطبيقات أودو odoo
  • أنظمة تشغيل الحواسيب والهواتف
    • ويندوز
    • لينكس
  • مقالات عامة

التصنيفات

  • آخر التحديثات

أسئلة وأجوبة

  • الأقسام
    • أسئلة البرمجة
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات

التصنيفات

  • كتب ريادة الأعمال
  • كتب العمل الحر
  • كتب تسويق ومبيعات
  • كتب برمجة
  • كتب تصميم
  • كتب DevOps

ابحث في

ابحث عن


تاريخ الإنشاء

  • بداية

    نهاية


آخر تحديث

  • بداية

    نهاية


رشح النتائج حسب

تاريخ الانضمام

  • بداية

    نهاية


المجموعة


النبذة الشخصية

تم العثور على 3 نتائج

  1. محرر النصوص Vim (ويلفظ فيم) هو المحرر الأكثر استخدامًا اليوم فهو متوفر في معظم الأجهزة على حساب المحررات الأخرى مثل نانو Nano وإيماكس Emacs و Vscodium ولا تكاد تخلو منه أي جلسة اتصال SSH. وسنعرض في هذا المقال المخصص للأشخاص المتمكنين من أساسيات العمل على المحرر بعضًا من مزاياه المتقدمة والمفيدة التي تخفى حتى على من استخدامه لسنوات، ويفترض هذا المقال معرفة مسبقة بمحرر vim أما إن كنت حديث عهد بهذا المحرر ولا تعرف عنه الكثير، فننصحك بالرجوع أولًا إلى مقال تعرف على أساسيات Vim. إضافة الإشارات المرجعية يوفر لك المحرر فيم Vim إمكانية إضافة الإشارات المرجعية bookmarks على مقاطع النص لتمييزها وتسهيل التنقل بينها وهذه العملية مفيدة جدًا في حالة النصوص الكبيرة. إليك طريقة الاستخدام؛ لوضع إشارة مرجعية اكتب m (الحرف الأول من mark) ويليه اسم الإشارة المرجعية. لنفترض مثلًا أن لديك مقطعًا في النص يتحدث عن الأسماء names وتريد تمييزه بوضع إشارة مرجعية اسمها n فعليك إذن أن تكتب mn، وإن أردت العودة للمقطع الخاص بالأسماء من أي موضع آخر في النص يكفيك كتابة `n لتنتقل إلى موقع الإشارة المرجعية n تمامًا، أو كتابة 'n لتنتقل إلى بداية السطر الذي يحتوي هذه الإشارة المرجعية. في حال رغبت بحذف الإشارة المرجعية n استخدم الأمر: :delmarks n ولاستعراض كافة الإشارات المرجعية استخدم الأمر التالي: :marks مع ضرورة الإشارة إلى أن استخدام الأحرف الإنكليزية الصغيرة في تسمية الإشارات المرجعية يعني أن هذه الإشارات محلية تستخدم ضمن المستند الحالي فقط، أما تسميتها بالأحرف الكبيرة تعني أن الإشارة عامة ويمكن الاستدلال بها ضمن عدة مستندات نصية أي أن استخدامه ليس محصورًا بالمستند نفسه. تعريف الاختصارات الخاصة بالمستخدم يتيح لك هذا المحرر إمكانية إنشاء اختصارات للكلمات والعبارات الطويلة والتي قد تكون كتابتها مزعجة وبالأخص إن تكررت أكثر من مرة ضمن النص. عرف الاختصارات باستخدام الأمر ab: يليه الاختصار ومن ثم العبارة المراد اختصارها، فمثلًا إن أردت إنشاء اختصار للعبارة Acme Painted Fake Roadways, Incs إلى شيء مثل apfr فيمكنك فعل ذلك وفق مايلي: :ab apfr Acme Painted Fake Roadways, Inc والآن في كل مرة تكتب فيها الاختصار apfr متبوعًا بفراغ يبدله المحرر تلقائيًا إلى العبارة كاملة دون أن تحتاج لكتابتها. أما إن رغبت بإزالة أي اختصار، استخدم الأمر uab: متبوعًا بالاختصار مثال: :uab apfr وتجدر الإشارة إلى أن الاختصارات التي تعرفها ضمن جلسة العمل تعتبر مؤقتة وتزول بمجرد إغلاق الجلسة. الإكمال التلقائي للكلمات أثناء الكتابة في الواقع يجهل العديد من المستخدمين قدرة هذا المحرر على الإكمال التلقائي للكلمات المكتوبة سابقًا ضمن النص. لنفترض أنك تكتب نصًا يتضمن كلمة مثل Antarctica عدة مرات فبعد كتابتها لأول مرة ضمن النص يمكنك لاحقًا كتابة الحروف الأولى منها فقط مثلًا ant والضغط على Ctrl+P وسيظهر لك المحرر كافة الكلمات التي كتبتها سابقًا في النص وتبدأ بحروف ant وعندها استخدم زر tab للتنقل بين الاحتمالات واختر الكلمة التي تريدها وسيقوم المحرر استكمالها تلقائيًا مع العلم أن زيادة عدد الحروف المكتوبة سيضيق لائحة الكلمات المحتملة أكثر. تحديد نطاق تتيح هذه الميزة للمستخدم تحديد نطاق معين من الأسطر وتطبيق جملة من الإجراءات عليه بشكل موحد وفق مايلي. لتحديد نطاق معين تبدأ كتابة الأمر برقم أول سطر في النطاق المطلوب تحديده متبوعًا بفاصلة يليها رقم أخر سطر في النطاق وهذا السطر يكون مضمنًا (فتطبق عليه الإجراءات)، كما يمكنك استخدام رمز النقطة للإشارة إلى السطر الحالي، ورمز $ للإشارة إلى السطر الأخير، أما % تعني كامل المستند. نورد بعض الأمثلة (مع التأكيد على أن كتابة هذه التعليمات تتم والمحرر في نمط الأوامر): حذف الأسطر من 2 إلى 10: :2,10d حذف الأسطر من 25 حتى نهاية المستند: :25,$d حذف كافة الأسطر: :%d نسخ الأسطر من 5 إلى 10 ولصقها بعد السطر 15: :5,10t 15 قص الأسطر من 5 إلى 10 ولصقها بعد السطر 15: :5,10m 15 رفع الانتاجية عبر Vim مع هذا المحرر لدينا دائمًا أشياء جديدة ومفيدة نتعلمها فهو غني للغاية ومليء بالميزات الجديرة بالاستكشاف والتي تخفى عن مستخدمين خبروه لسنوات. ترجمة -وبتصرف- للمقال ‎4 Vim features to use to improve productivity لصاحبه Hunter Coleman. اقرأ أيضًا تعرف على أساسيات Vim - الجزء الأول تعرف على أساسيات Vim - الجزء الثاني إدارة إضافات vim
  2. محرّرُ Vim يتمتّع بشهرة واسعة، بفضل هذه الشهرة أصبح يُعدّ من أوائل المحرّرات التي يُمكن للمستخدم أن يُخصّصها ويُضيف عليها كل ما من شأنه أن يجعل التّحرير مُريحاً وسهلاً سواء شكلاً أو أداءً. لقد تحدّثنا سابقاً عن الشّكل والمظهر، وقد حان الوقتُ للغوص في أعماق الإضافات التي تجعل التحرير لعبة في كثير من الأحيان بل هناك بعض الإضافات التي ستندم على أنّك لم تعرفها في كلّ هذه السنين منذ بداية استخدامك للحاسب، مُعظم الإضافات تتّبع فلسفة 'اجعلها أسرع وأبسط' وهذا يعني أنّك ستجدُ ضالّتك في هذا الدّرس إذا كنت تبحث عن تحسين أدائك وزيادة إنتاجيّتك إذ ستتعلّم كيف تديرُ الإضافات من تثبيت وتحديث إلى طرق حذفها. صحيح أن المُحرّر ممتازٌ جدّا في ما يتعلق بزيادة الإنتاجية حتى بدون أي إضافات (كما رأينا في الدّرسين السّابقين)، لكنّك بالإضافات قادرٌ على أخذ المُحرّر إلى المستوى المُتقدّم بشكل جدّ ملاحظ. ماهي إضافات vim بالضبط؟لا أظنّ أنّك قد تسألُ هذا السؤال، فنحن محاطون بالإضافات في كلّ مكان من إضافات المتصفّح إلى تطبيقات الهواتف الذكيّة، لكن في حال سألت هذا السّؤال جديّا، ففكّر في الإضافة على أنها أداة مساعدة تؤدّي عملا معيّنا أو تساعدُ في القيام بأمر ما، الشيء الذي يُسهّل ويُسرع عملية الإنتاج، وقد أعطيتك إضافات المتصفّح كمثال، و هذا بالضبط ما تفعله إضافات vim، أي تسريع عملية الإنتاج (الكتابة). الإضافات الخاصّة بالمحرّر يُمكن أن تكون عامّة أو مُخصّصة للغة برمجة ما، لبيئة ما أو إطار عمل معيّن. معظم الإضافات مُطوّرة من مُبرمجين مُستقلّين عن مُطوري المُحرّر، وكذلك تستطيع أنت أن تُبرمج إضافة خاصّة بك سواء بلغة Vimscript أو بلغتك إذا كنت تجيد لغات مثل روبي، بايثون، Lua. مع ملاحظة أن الإضافات التي لم تُبرمج بلغة Vimscript عادة ما تكون بلغة بايثون. تثبيت الإضافاتأولا عليك أن تعرف بأن الإضافات ليست إلا ملفّات برمجيّة وتنصيبها لمُحرّر Vim أمر في غاية السهولة، ويُمكن ذلك بعدّة طُرق سواء بأداة pathogen الّتي تسهّل إدارة ملفّات الإضافات البرمجيّة حيثُ تقوم بتنظيم الملفّات والإضافات لأجل تَيْسِيرِ تحديثها وحذفها. كذلك يُمكن فعل نفس الأمر باستخدام أداة Vundle التي استُلهمت من مشروع Bundler الخاص بإدارة جواهر روبي Rubygems. مع Vundle يمكنك ضبط إعدادات الإضافات في ملف vimrc، يُمكنك تثبيت، تحديث، البحث، وحذفُ الإضافات. هناك العديد من الأدوات الأخرى التي تؤدّي نفس الغرض، لكن pathogen و Vundle هما الأكثر استخداماً، وسأريك كيف تستخدمهما معاً ويمكنك اختيار أي واحدة منهما، لكنّي سأعتمد فقط على Vundle في الدروس القادمة التي سأتناول فيها استعمال الإضافات المُختلفة. 1. تثبيت الإضافات باستعمال أداة pathogenأداة pathogen تعتمد مبدأ البساطة المطلقة، إذ لا تتوفر على الكثير من المهام والتعقيدات وتُمكّنك من تثبيت الإضافات بنقلها إلى مجلد: .vim/bundle/pluginحيثُ plugin هو ملف الإضافة التي تُريد تثبيتها. لتثبيت الأداة حمّل ملفّ pathogen.vim ثمّ أنقله إلى مجلّد : ~/.vim/autoloadلديك أيضا خيار التثبيت عبر سطر الأوامر (تحتاج إلى أداة curl): تثبيت أداة curl على Gnu/Linuxعلى Debian وما بُني عليها: $ sudo apt-get install curlعلى Fedora: $ sudo yum install curlتثبيت أداة curl على Windows: حمّل curl، بعد فكّ الضغط عن الملفّ انقل الملف المسمّى curl.exe إلى مجلّد %windir% للوصول إلى المجلّد افتح قائمة ابدأ ثمّ تشغيل (Run) ثمّ ألصق %windir% واضغط Enter. بعد الحصول على curl لأنظمة جنو/لينكس الخطوة التالية هي تطبيق الأمر التالي من الطّرفيّة (Terminal): $ mkdir -p ~/.vim/autoload ~/.vim/bundle && \ curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vimأما إذا كنت من مستعملي Windows فطبّق الأمر التالي في برنامج Cmd: > mkdir -p ~\vimfiles\autoload ~\vimfiles\bundle && \ curl -LSso ~\vimfiles\autoload\pathogen.vim https://tpo.pe/pathogen.vimبعد نقل الملفّات وانتهاء العمليّة تحتاج إلى إضافة الأسطر التالية إلى ملفّ vimrc: execute pathogen#infect() syntax on filetype plugin indent onالآن أنت قادرٌ على تثبيت أي إضافة تريد (المثال التالي يقوم بتثبيت إضافة NERDTree على توزيعات Gnu/Linux و Mac) $ cd ~/.vim/bundle && git clone https://github.com/scrooloose/nerdtree.git أمّا إذا كنت تستعمل cmd في Windows، فهاك الأمر: > cd ~\vimfiles\bundle && git clone https://github.com/scrooloose/nerdtree.gitأداة Gitمعظم الإضافات مستضافة على GitHub لذلك فأداة git ضرورية للتحميل وهي متوفرة لمستخدمي جنو/لينكس على المستودعات الرّسمية ويمكنك تثبيتها تماماً كما تبّثنا أداة curl: لـ Debian وما بُني عليها: $ sudo apt-get install gitلـ Fedora: $ sudo yum install gitلمستخدمي وندوز حمل git هذا إذا أردت تثبيت الإضافات من الطرفيّة، أمّا إذا أردت أن تقوم بالأمر بشكل يدوي فهناك دائما طريقة أخرى: أولاً عليك تحميل الملفّات مضغوطة: https://github.com/scrooloose/nerdtree/archive/master.zipحيثُ scrooloose وnerdtree تتغيّر حسب اسم الإضافة واسم المستخدم الخاص بمُطوّرها على Github. فك ضغط الملفّ ثمّ انقل ما بداخله إلى مجلّد bundle. 2. تثبيت الإضافات باستعمال أداة Vundleأداة vundle شبيهة بأداة pathogen وتؤدّي نفس الغرض تقريباً، لكن أداة Vundle تستطيع فعل كثير من الأشياء التي لا تستطيع pathogen فعلها، مثلا في Vundle يُمكنك البحث عن الإضافات ، حيث تعرض لك الأداة جميع الإضافات الموافقة لما أدخلته وتعطيك إمكانية التنقّل بين نتائج البحث واختيار الإضافة المراد تثبيتها وبضغطة زر تُثبّتُ الإضافة، يُمكنك اعتبار الأداة بمثابة مدير حزم مثل apt-get في توزيعة أبنتو وyum في توزيعة فيدورا. أداة Vundle تمكنّك من : ضبط إعدادات الإضافات من ملفّ vimrc مباشرة.تثبيت الإضافات.تحديث الإضافات المثبتة.البحث عن الإضافات المتوفّرة.حذف الإضافات.القيام بكلّ ما سبق باستعمال سطر أوامر بسيط وسهل.تثبيت أداة Vundleلتثبيت الأداة عليك أن تتوفر على أداة git (أنظر فصل أداة Git أعلاه)، وعليك أيضاً أن تتوفر على أداة Curl، حيثُ تُستخدم للبحث من طرف Vundle. على Gnu/Linux أو ماك، طبّق الأمر التالي على الطّرفية: $ git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vimبعد تطبيق الأمر أعلاه، أضف هذه الأسطُر إلى ملفّ vimrc: set nocompatible filetype off set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin 'gmarik/Vundle.vim' Plugin 'user/plugin.vim' Plugin 'L9' filetype plugin indent on call vundle#end()التثبيت على نظام Windows، طبّق الأمر التالي في سطر الأوامر Cmd: cd %USERPROFILE% && git clone https://github.com/gmarik/Vundle.vim.git vimfiles/bundle/Vundle.vim && gvim _vimrcثمّ أضف الأسطر التالية إلى ملفّ vimrc: set nocompatible filetype off set rtp+=~/vimfiles/bundle/Vundle.vim/ let path='~/vimfiles/bundle' call vundle#begin(path) Plugin 'gmarik/Vundle.vim' Plugin 'user/plugin.vim' Plugin 'L9' filetype plugin indent on call vundle#end()مع مراعاة أن الأسطر باللون المُختلف غير ضروريّة وهي تعني: Plugin 'user/plugin.vim': تثبيت إضافة من github مُباشرة حيث user هو اسم مستخدم المُطوّر و plugin.vim اسم الإضافة.Plugin 'L9': تثبيت إضافة في حال توفّرها على Vimscripts.ملاحظة: بعد إضافة أي سطر لتثبيت إضافة ما عليك حفظ الملفّ والخروج من vim ثمّ تطبيق الأمر: :PluginInstallوسيبدأ Vundle بتثبيت الإضافات واحدة تلو الأخرى. الآن لتثبيت أي إضافة باستخدام Vundle يمكنك الاختيار بين الطّرق التالية: تثبيتُ إضافةالتثبيت من ملفّ vimrc.لقد رأينا هذه الطّريقة من قبل، فقط إضافة أحد الأسطر السّابقة أعلاه لملفّ vimrc ثمّ الخروج من Vim وفتحه مجدّدا ثمّ تنفيذ الأمر PluginInstall كفيل بالأمر. التثبيت من المُحرّر مباشرة:Vundle يُوفّر لنا عدة أوامر جاهزة لاستخدامها داخل المُحرّر ومن بين هذه الأوامر أمر PluginInstall، ويُمكنك استعماله في المُحرّر على النّحو التالي: :PluginInstall pluginحيثُ plugin هو اسم الإضافة، ويمكن أن يكون على شكل user/plugin في حال كانت الإضافة مستضافة على GitHub. الأمر سيفتح تقسيما جديدا للشاشة وسيبدأ بعملية التثبيت مباشرة الوقت المُستغرق يعتمد على حجم الإضافات التي تُحاولُ تثبيتها وعلى سرعة الأنترنت لديك. عند الانتهاء يُمكنك إغلاق التقسم باستخدام: :qأو :bdeleteالبحث عن إضافةعرض جميع الإضافات التي يُمكن لـ vundle تثبيتها إذا كنت فضولياً فمن الجيّد أن تطّلع على كميّة الإضافات الموجودة لمحرّر vim وأسمائها، لفعل ذلك نفّذ الأمر التالي على المُحرّر: :PluginSearch! إلى حين كتابة هذا الدّرس هناك أكثر من 4000 إضافة يستطيع Vundle تثبيتها، الإضافات يُمكن أن تكون عامة ومفيدة لجميع المُبرمجين، للغة معيّنة، لبيئة ما أو حتى لإطار عمل معيّن. تحديثُ إضافةبعد تثبيت إضافة ما أنت جاهز للعمل بها واستغلالها لتحسين أداء المُحرّر، لكن بعد مدة معيّنة سيضيف المطوّر بعض التحسينات لإضافته، وكلّنا ذاك الذي يرغبُ في الجديد المحسّن، لذلك أداة Vundle تُوفّرُ لنا أمر PluginUpdate لتحديث الإضافات. لتحديث جميع الإضافات: :PluginUpdateلتحديث إضافة معيّنة: :PluginUpdate pluginلتحديث أكثر من إضافة يُمكنك فصلُ أسمائها بمسافة: :PluginUpdate plugin1 plugin2يمكنكَ استخدام أمر PluginInstall مع إضافة علامة تعجّب(!) لتحديث جميع الإضافات (ليس ضروريا، مُجرّد أضف لمعلوماتك): :PluginInstall!وهو أمرٌ يخبرُ Vundle بالقيام بعمليّة إعادة تثبيت، ما يجلبُ أحدث الإصدارات. حذف إضافةقد تشعرُ أنّ الإضافة التي قُمت بتثبيتها مؤخّراً ليست مفيدة بالمرّة أو أنها تُسبب مشاكل للمحرّر، لا مشكلة يمكنك التخلّص منها باستخدام Vundle. لحذف إضافة عليك أولاً أن تعرض الإضافات المُثبّتة، لقيام بذلك طبّق الأمر: :PluginListبعد تطبيق الأمر سيظهر قسم في الشاشة يحوي جميع الإضافات المُثبّتة تصفح باستخدام أسهم لوحة المفاتيح واختر الإضافة التي تُريد حذفها ثمّ اضغط على زرّ D. ستظهر علامة – بجانب اسم الإضافة، هذا يعني أنّ الإضافة حُذفت ويمكنكَ الخروج، إذا أردت التراجع يمكنك ذلك باستخدام أمر التثبيت ما دام اسم الإضافة في ملف vimrc أو يُمكنك حذف اسمها في الملفّ إذا أردت تأكيد عدم رغبتك في رؤية وجه تلك الإضافة مُجدّدا. حذفُ مجموعة من الإضافات دُفعة واحدةيُمكنك حذف مجموعة من الإضافات بإزالتها من ملفّ vimrc ثم تنفيذ الأمر التالي: :PluginCleanسيقوم Vundle بإظهار رسالة تأكيد أكتب y ثمّ Enter للتأكيد، الأمر سيقوم بحذف جميع الإضافات التي لا توجد في ملفّ vimrc. حذفُ جميع الإضافات دُفعة واحدة (احذر!)إذا كنت تُريد أن تعود إلى زمن vim الخالص بدون أي إضافة، يُمكنك حذف جميع الإضافات بإزالتها من ملفّ vimrc ثم تنفيذ الأمر التالي: :PluginCleanسيقوم Vundle بإظهار رسالة تأكيد أكتب y ثمّ Enter للتأكيد، الأمر سيقوم بحذف جميع الإضافات التي لا توجد في ملفّvimrc أي جميعها في حالتنا. خاتمةتعرّفنا في هذا الدّرس على كيفيّة إدارة الإضافات ولم يبق لنا إلا شرح أهم الإضافات التي من شأنها أن تزيد من إنتاجيتك، وتُحسّن بها أداءك. الدرس القادم سيكون عن الإضافات التي يحتاج إليها كل مبرمج بغضّ النظر عن اللغة التي يتعامل بها مع برامجه وتطبيقاته.
  3. لقد تعرّفنا معا في الدرس السابق على أساسيّات التّعامل مع النّصوص والملفّات في محرر vim حيثُ شرحتُ أوامر متعلّقة بالتّعديل والحذف كالقصّ واللّصق والحذف، وتعرّفنا على مبادئ الانتقال بين الكلمات، الأسطر، التّبويبات وتقسيمات الشّاشة؛ والآن حان وقت المزيد من الأوامر -المتقدمة نسبيّا- التي ستساعدك على التعرف على المحرر بشكل أعمق. معلومات الملفإذا قمت بفتح ملف ما وتريد معلومات عنه فكل ما عليك فعله هو الضغط على Ctrl+g أو تنفيذ الأمر: :fبعد تنفيذ الأمر ستلاحظ في أسفل الملف ستلاحظ المعلومات التالية: اسم الملفعدد أسطر الملفإحداثيات ومكان المؤشّر في الملف التّعامل مع الفقرات1. الأزرار a, o, s | A, O, S للانتقال إلى نمط الكتابةالزر a سيقوم بالانتقال إلى وضع الكتابة بعد موضع المؤشّر مباشرة. للانتقال إلى وضع الكتابة بعد جملة كاملة أو فقرة معيّنة (بـأكملها): Aالزر o (كما ذكرنا سابقا) ينتقل بك إلى نمط الكتابة في سطر جديد (تحت المؤشّر)، أما إذا كنت ترغب بالدّخول إلى نمط الكتابة في سطر جديد فوق المؤشّر فاستعمل: Oالزّرّ s سيقوم بحذف الحرف الذي يوجد فيه المؤشر وينتقل بك مباشر ة إلى وضع الكتابة، أي أن الزر s له دور التعديل. إذا أردت تعديل جملة كاملة أو فقرة معيّنة (بـأكملها): S2. الزرّان r و R للانتقال إلى وضع الاستبداليوجد وضع (نمط) آخر في vim ألا وهو وضع الاستبدال (Replace) يمكنك أن تحزر فائدته من اسمه فقط، ويمكنك أيضا ملاحظة أن الزرّان المسؤولان عن الولوج إليه هما أول حرف من كلمة Replace. النّمط بكل بساطة يُخوّلكَ لاستبدال ما تشاء سواء حرفا واحدا في كل مرّة أو مجموعة في آن واحد. بحيث : الزر r لاستبدال حرف واحد فقط.الزر R لاستبدال عدة حروف في آن واحد.3. المزيد عن الانتقال بين الجمل والفقراتلقد ذكرنا سابقا (الدرس السابق) أساسيّات التّنقل في ملفّ معيّن، سنغطّي المزيد في هذه الفقرة. الانتقال إلى الفقرة التالية، استعمل { . تريد عكس الأمر؟ Ctrl+o سيفي بالأمر. تحريك المؤشر بين الجمل:للانتقال بين الجمل ببساطة استعمل كلا من ( و ) حيث ) للانتقال إلى الجملة التالية و ( للرجوع إلى الجملة السابقة. استعمل الأرقام إذا كنت ترغب بالقفز وتجاوز الجمل، مثلا 3) للانتقال إلى الجملة الثالثة بعد المؤشر (يمكنك تغيير الرقم 3 بما تشاء). للانتقال إلى حرف معيّن:fxحيث x هو المكان الذي نرغب بوضع مؤشر الفأرة عليه. يمكنك استعمال الأرقام أيضا، مثلاً: 3fxفي هذا المثال نُخبِرُ vim بأن ينتقل إلى حرف x الثّالث (يعني تجاوز أوّل حرفين x وانتقل إلى الثّالث). 4. تعليم منطقة معيّنة في ملفكتخيل أنك كتبت كمّا كبيرا من الشيفرة في ملفّك، وأثناء كتابتك في لحظة معينة تذكّرت أنك تحتاج إلى إضافة شيء ما بالأعلى، لنقل بداية الملف، ستقول الأمر سهل كل ما عليّ فعله هو الضغط على gg للانتقال إلى الأعلى ثم أضيف ما أشاء، نعم الأمر يبدو جيّداً، لكن ماذا لو أردت العودة إلى المكان الأول الذي كنت فيه قبل الانتقال إلى الأعلى؟ هنا يأتي دور التعليم أي وضع علامة في مكان ما لتمييزه بزر معين. لاستخدام التعليم قم بالضغط على m (اختصارًا لـِ mark) ثم الزر الذي تريد التعليم به. بالمثال يتضح المقال: إذا كان مؤشر الفأرة مثلا في منطقة ما في وسط الملف (على حرف معيّن بالضبط) وتريد تعليمه بزر a : maالآن انتقل إلى أي مكان ترغبه في الملف وكلما أردت العودة إلى السطر المعلّم بزر a ستضغط على a'، أما إذا كنت ترغب في العودة إلى موضع المؤشّر بالتّحديد فاضغط على a`. يمكنك استعمال أي حرف من ( a-z A-Z ) بشرط أن يكون حرفاً واحداً فقط أي أنّك تملكُ ما مجموعه 52 زرا لتعليم مختلف مناطق الملف. 5. استعمال الأرقام لتكرار العمليّاتإلى الآن، تعرّفنا على استعمالات عديدة للأرقام لكن أهم ما يجب عليك معرفته بخصوص الأرقام هو أنك تستطيع أن تستعملها لتكرّر عملية ما بعدد لا نهائي من المرّات. مثلا لنقل أنّ لدينا جملة في ملفنا، ننسخ الجملة باستعمال yy (اُنظر الدرس الأول) ولكنّنا لا نريد لصقها مرة واحدة فقط بل العديد من المرات (أي تكرارها في الملف n مرّة). للقيام بذلك طبّق الأمر التالي: npبحيث n هو عدد المرات التي ترغب بلصق الجملة في الملف (بعد مؤشر الفأرة مباشرة). أقرب مثال أستحضره حاليا هو القوائم في لغة HTML، لنقل أنّك تحتاج إلى إضافة 10 قوائم في الملف. هل تعتقد أن كتابتها بشكل يدوي سيفي بالغرض؟ (إن كان جوابك نعم فاستعدّ للتضحية بحصة لا بأس بها من وقتك الثمين). بالطبع الجواب هو لا. لذلك كل ما عليك فعله هو كتابة السطر الأول: <li> Item in The List </li>ثم انسخ السطر باستعمال yy ثم ألصقه 10 مرّات باستعمال: 10p طبّقت الأمر 1000000p وحصلت على مليون سطر (نواة لينكس؟) وملف بحجم 28Mb ولا زال vim يستجيب في أجزاء من الثانية، لا تغيير في السرعة حتى عند الحفظ (لا أظن أن أي بيئة تطوير قادرة على فعل نفس الشّّيء خلال جزء من الثانية، وهذا سبب قويّ لاستخدام المحرر، أليس كذلك؟). ملاحظة: هذا مجرد مثال والتطبيقات تكاد تكون لا نهائية لذلك الدّور عليك لتستكشف تطبيقات الطريقة وهذا الأمر متروك لخيالك ومدى رغبتك في التّعلّم . 6. التّراجع وإلغاء التراجعلقد تحدّثتُ أيضاً عن أساسيّات هذه الخاصية في الدرس السابق (u للتراجع عن تعديل ما و Ctrl+r لإلغائِه)، وقد حان الوقت الآن لبعض العمليّات المتقدّمة. تراجع عن جميع التعديلات التي قمت بها قبل x دقائق من الآن: :earlier 2mهذا الأمر يقوم بالتراجع عن جميع التعديلات التي قُمت بها منذ دقيقتين، وبالطبع يمكنك استخدام الثواني كوحدة زمنية. :earlier 25sولعكس العمليّة استعمل later: :later 3mهذه الأوامر مفيدة إذا كنت تقوم بتعديلات عديدة في وقت قصير ولكنّك عادة لا تتذكّر الأوقات بالتّحديد، الرجوع بحسب عدد التّعديلات طريقة أفضل(نعم خاصيّة أخرى). للتّراجع بحسب عدد التّعديلات: :undo 5الأمر أعلاه يقوم بإلغاء آخر خمس تعديلات. عرض قائمة التراجعات: :undolistمحرك البحث في vimvim يمتلكُ محركَ بحث مدهش وقوي يمكنك إعداده وتخصيصه كيفما تشاء، حيث يمكنك إخبار المحرّر بأنك تُريد أن يتجاهل حالة الأحرف (مثلا a وA كلاهما سيوافقان نتائج البحث)، ويمكنك أيضا إعداده لعرض النتائج بشكل فوري (يعني أن يقوم بالبحث بمجرد المباشرة بالكتابة). إخبار المُحرّر بأننا نريد بحثا فوريا: :set incsearchتجاهل حالة الأحرف: :set ignorecaseمثلا إذا قمت بالبحث عن “hello” : /helloستكون النتائج متوافقة مع كل من : Hello , hello , HELLO هذه الإعدادات لن تُسجّل إذا أغلقت المحرّر، وقد ذكرت في الدّرس السّابق أنك تستطيع إضافة أسطر إلى ملف vimrc. لكي تُسجّلَ الإعدادات بشكل افتراضي، حيث يكون كل شيء معدّا مسبقاً فور فتح المحرّر، يمكنك فعل ذلك الآن إذا كنت ترغب في ذلك. فقط افتح الملف (ملف vimrc) وألصق الأسطر التالية في الأسفل: set incsearch set ignorecaseملاحظة: للتنقّل بين عمليات البحث استعمل كلا من n و N. النّصوص داخل الأقواس، علامات التّنصيص والمعقوفاتvim يُوفّر مساعدةً قيّمةً للمبرمجين، حيث يحتوي على كمّ كبيرٍ من الأوامِر التي تُساعدهم على التعامل مع كتلِ التّعليمات البرمجية (code blocks)، إذ يمكّنكَ المحرّر من تعديل، حذف و نسخ كل ما يوجد بداخل الرموز مثل : {} , “ “ , () , `` , <> أو حتى تضمينها كذلك. التعديل1. تعديل ما بداخل الرمزين {}:يمكنك تعديل ما بداخل الرمزين { و } ببساطة وذلك باستعمال الأمر التالي: ci{ أو ci}ملاحظة: يجب على المؤشّر أن يكون إما على أحد الرمزين أو داخلهما (الملاحظة تنطبق على جميع الأوامر أسفله). 2. تعديل ما بداخل الرمزين <>:يمكن ذلك بنفس الطريقة: ci< أو ci>بنفس الطريقة يمكن تعديل ما بداخل الأقواس (): ci( أو ci)3. تعديل ما بداخل علامات التنصيص " أو ' أو ` :ci'أو ci” أو ci`4. تعديل ما بداخل وسوم HTML:يمكن أيضاً تعديل ما بداخل وسوم HTML بالأمر التالي: citالحذفالحذف يكون بنفس طريقة التعديل، فقط استبدِل c ب d، مثلا لحذف ما بداخل الرمزين {}: di{ أو di}أما لحذف ما بداخل وسوم HTML: ditالنسخالنسخ كذلك يتّبع نفس المنطق فقط استعمل y عوضا عن c و d مثلا لنسخ ما بداخل الأقواس (): yi( أو yi)في جميع الأوامر السّابقة تعلّمنا كيف ننسخ ما بالداخل فقط، فماذا لو أردنا تعديل، حذف أو نسخ العلامة أيضا؟ لفعل ذلك فقط استبدل i بـِ a، إليك مثالاً على ذلك: لنقل أنّنا نملك ملفّا يحتوي على الآتي: if (x == 0)إذا طبّقنا الأمر(المؤشّر على أحد القوسين أو بداخلهما): di)سيقوم المحرر بحذف "x == 0". أمّا لو طبّقنا الأمر: da)فسيقوم المحرّر بحذف "(x == 0)". وقِسْ على ذلك بقيّة الأوامر(التّعديل والنّسخ). المسافة البادئة للنّصوص (text indent)المسافة البادئة للأسطر تعدّ من أهمّ ما يجبُ على المبرمج الاهتمام به، إذ أن الشيفرة النّقيّة تعتبر أساساً لتحديد مدى مهارة المُبرمج، وليتمكّن الآخرون من فهم ما كتبه خاصّة إذا كان يعملُ في مشروع مفتوح المصدر. مثال على استعمال المسافات البادئة: if ... // ... else // ... endفي المثال أعلاه كتبنا جملة شرطية بدون أي مسافات بادئة. if ... // ... else // ... endأما في هذا المثال فقد قمنا بوضع مسافات بادئة لمزيد من التنسيق ولك أن تلاحظ الفرق.كما أن هناك لغات تُجبرُك على التّنسيق باستخدام المسافات البادئة (مثل Python) وإلا فلن يعمل البرنامج. في vim هناك العديد من الخيارات للتحكّم بالمسافات البادئة، أولا عليك تفعيل خيار "المسافات البادئة الذكيّ" (Smart indent)، ومن المفضّل أن تضعه في ملفّ vimrc: :set smartindentضبط عرض المسافة البادئةأقصدُ بعرض المسافة البادئة، المسافة التي ستكون بين بداية السطر والكتابة (اُنظر المثال): هذا نص بمسافة بادئة تساوي 0 هذا نص بمسافة بادئة تساوي 1 هذا نص بمسافة بادئة تساوي 4 هذا نص بمسافة بادئة تساوي 10لِضبط المسافة البادئة في vim طبّق الأمر التالي: :set shiftwidth=xحيث x عرض المسافة البادئة، من المُفضّل أن يكون 4 فقط. :set shiftwidth=4لوضع مسافة بادئة لسطرٍ ما استخدم: >ولإلغاء المسافة البادئة: <لوضع مسافة بادئة لمجموعة من الأسطُر: vjjj>حيث v للولوج إلى الوضع المرئي وj للانتقال للأسفل. لوضع مسافة بادئة لما بداخل المعقوفات ({})، إذا كان لديك جملة شرطيّة مثلا في لغة جافاسكريبت: function foo(){ //... //... //... //... }قد ترغب في وضع مسافة بادئة لجميع الأسطر التي تتواجد داخل علامتي { ... } للقيام بذلك ضع المؤشّر على إحدى العلامتين وقم بالضغط على: >i}النتيجة ستكون كالتالي: function foo(){ //... //... //... //... }أمّا إذا أردت أن تنسّق الملف بكاملهِ في آن واحد فالأمر التالي سيُعطيكَ ما تريده: gg=Gحيثُ gg لتحريك المؤشّر إلى أعلى الملفّ و = لإضافة المسافة البادئة وG للانتقال إلى آخر الملفّ. تخصيص مظهر vimمحرّرvim يعتمِد مبدأ البساطة، لكن هذا لا يجعله غير قابل على تخصيص مظهره، بل تستطيع أن تجعل المحرّر فخماً وذا تصميمٍ مُبتكرٍ خاصّة مع الكمّ الكبير من السمات المتاحة له، إذ أن هناك مبرمجون من مختلف أنحاء العالم ينشُرونَ سماتٍ للمُحرّر، وسنكشف بعضاً منها في هذه الفقرة. 1. تنصيب السّماتتنصيب السّمات على محرّر vim سهلٌ جدّاً، ولكنّه يختلف من نِظام تشغيل إلى آخر. لمستخدمي Gnu/Linux أو Mac OSقُم بتحميل المِلفّات (ملفّ واحد في غالب الأحيان) ثمّ اُنقل الملفّات بامتداد vim (مثلا color.vim) إلى المسار التالي : ~/.vim/colors/ملاحظة: علامةُ ~ اختصار يُمثّل مُجلّد المنزل الخاصّ بك. إذا لم يكن مُجلّد colors داخل مجلّد vim. ( المجلّد مخفيّ افتراضياً في متصفّح الملفّات لإظهاره اضغط Ctrl+h) موجوداً فقم بإنشائه. أو طبّق الأمر التالي في الطرفية (Terminal): mkdir ~/.vim/colorsلمستخدمي Windowsهذا هو مسار مُجلّد vim. : %userprofile%\vimfilesكل ما عليك فعله هو الذهاب إلى قائمة" ابدأ" (start) ثمّ " تشغيل" (run) بعد ذلك ألصق الأمر التالي: %userprofile%ثمّ قم بإنشاء مجلد vimfiles، وبعد ذلك أنشئ مجلّداً باسم colors هذا هو المجلّد الذي سنقوم بنقل ملفات السمات داخله. 2. تفعيل السّمات والتبديل بينهاالآن أنت جاهز لتفعيل السمات التي قمت بتحميلها (لا تقلق أنت لم تحمّل شيئا بعد)، بعد إكمال عمليّة نقل الملفّات المناسبة (ذات امتداد vim) إلى مجلد .vim/colorsأو %userprofile%\vimfiles\colorsيمكنك مباشرة فتح vim وتجربة السّمة التي ثبّتها بالأمر: :colorscheme themeسيتغيّر المظهر لكنّ الأمر لن يُحفَظ لحفظه ولإبقاء المظهر في كل مرة تفتح ملفّا في vim عليك إضافة السطر التالي في vimrc. : colorscheme themeبالطبع مع تغيير theme إلى اسم السّمة. 3. السّمات الافتراضيّةلنتحدّث الآن عن سمات المحرّر، في vim هناك سمات افتراضية موجودة أصلاً ولا تحتاج إلى تحميل يمكنك معاينتها وانظُر أأعجبتكَ أم تريد شيئا أفضل: سمة desert سمة blue سمة darkblue سمة delek سمة elflord سمة morning سمة pablo سمة slate هناك المزيد والمزيد من السّمات التي يُوفّرها لك المحرّر يمكنك تصفحها عبر الأمر: :colorscheme <tab>تحميل السّماتإن لم يُعجبك أي مظهر من مظاهر المحرّر الموجودة أعلاه، لا تقلق لا يزال هناك أمل، سأسرد لك بعضا من السّمات الموجودة خارج المحرّر وعليك تحميلها إذا أردت تفعيلها. وكما قلت سابقا لتفعيل أيّ سمة يكفي أن تنقل الملفّ بامتداد vim إلى مجلّد colors ثم نفّذ الأمر: :colorscheme themeحيثُ theme هو اسم الملف، مثلا إذا كان اسم الملفّ color.vim فيكفي أن تغيّر theme إلى color، ولإبقاء السّمة، أضف السّطر إلى ملفّ vimrc.. سمة Guardianهذه أحد السمات التي يمكن تحميلها مثلا، ثم تنصيبها بالطريقة التي قمنا بشرحها أعلاه: سمة Github هذه سمةٌ أخرى يُمكن تحميلها شبيهة بسمة موقع Github. سمة Vividchalk لتحميل السمة. سمة Candy تحميل السّمة ختامالقد تعرّفنا في هذا الدرس على قدراتِ vim المتقدّمة في التّحرير والتّعامل مع مختلف أنواع النّصوص والجمل، وأيضاً على طرق لتخصيص المحرّر، ولكنّه يحوي أكثر من هذا كلّه خاصّة أنّه مليء بالمفاجآت، والإضافات التي تستطيع أن تجعله أكثر من مجرّد محرّر!
×
×
  • أضف...