إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

أفضل محرر للنصوص فى لينوكس الرائع vi ,vim

تقليص
X
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • [مقال] أفضل محرر للنصوص فى لينوكس الرائع vi ,vim

    بسم الله الرحمن الرحيم
    السلام عليكم ورحمة الله وبركاته
    معنا اليوم

    كود PHP:
    محرر النصوص vi فى بيئة عمل لينوكس 
    من أقوى محررات النصوص التى قد تقابلها فى أى نظام تشغيل تتعامل معه وبالنسبة ل Linux فهو يعد الأفضل بلا منازع
    سيساعدك فى تعديل ملفات الإعدادات بشكل سريع وفعال وسيساعدك كمدير للنظام ولا تنسى أنك تتعامل مع الخادم أو مع النظام بشكل أفضل من خلال سطر الأوامر
    فهو أداة advanced text editor فهو يختلف عن كل محررات النصوص فى نظام تشغيل لينوكس مثل ( nano-pico-Emax ) فهو يعد الأفضل وذلك للعديد من المميزات ولكن لماذا نهتم بمجرد محرر نصوص ؟؟؟
    لأن كما ذكرنا من قبل أن اللينوكس يعامل الخدمات والإعدادات الخاصة بالسيرفر ( الخادم ) والsystem على أنها text files ولهذا فهو مفيد بحيث سيسهل عليك التعامل مع ال text files يمكنك التعديل فى سطر معين فى ملف مثلا به الآف الأسطر ؟؟
    هل يمكنك التعديل على الملف بتنفيذ أمر لينوكس داخل المحرر مثل الأمر sed ؟؟؟

    نبدأ بالتعارف على محرر النصوص vi او vim ؟
    ما الفرق بينهم ؟؟؟

    هما نفس المحرر ونفس الخواص ولكن ال vim = vi modified
    به العديد من الإضافات الرائعة

    ال vi يتكون من أكثر من mode بمعنى أكثر من وضع للتعامل مع البرنامج والنص المكتوب وهم كالتالى :
    كود PHP:
    1-  Command Mode (default): Move cursorcut/paste text change mode
    2
    -  Insert ModeModify text
    3
    -  Ex ModeSavequitetc 
    نبدأ بالوضع الأول وهوا وضع الأوامر فى المحرر
    فكل حرف يعنى للمحرر أمرا فمثلا الحرف u يعنى undo او خطوة للخلف أو محو آخر تعديل قمت به للملف وتستطيع فيه عمل copy و paste وتأمر المحرر بما يحلو لك لتنفيذه

    الوضع الثانى وهوا Insert Mode: Modify text
    وهنا تستطيع التعديل على الملف بكتابة ما يحلو لك ويمكن دخول هذا الوضع عن طريق الضغط على حرف i فى الكيبورد

    الوضع الثالث : الخروج والحفظ للملف

    الأوضاع هذه بمعنى أنها أوضاع انتقالية تنتقل بينهم أثناء عملك وتعديلك فى الملف فهى متتابعة وتنتقل بينها بكل سلاسة

    نبدأ ببساطة التعامل مع المحرر : إكتب الأمر التالى فى الشل ( terminal )

    كود PHP:
    #vi linux.txt 
    طبعا لا يوجد ملف بهذا الأسم فكل ما سيفعله ال vi هوا أنه سيقوم بعمل ملف جديد بهذا الأسم وتبدأ بالكتابه والتعديل فيه
    ولكن أين يتم حفظ الملف ؟؟؟
    يتم حفظ الملف فى المكان الحالى الذى توجد به وهو ( pwd )

    والآن لديك ملف لا يوجد به أى شىء ...( لا يصلح التحرك بالأسهم الان )

    الآن انته فى وضع ال command وهوا الأمر للبرنامج ستضغط i لعمل تحرير فى الملف أو تعديل او كتابه سطور جديدة
    اكتب مثلا

    كود PHP:
    linux is freedom 
    ثم إضغط على الزر EsC للخروج من الوضع التحريرى
    ثم إضغط : لدخول وضع الحفظ والإغلاق
    إكتب wq ومن ثم إضغط Enter يغلق بعد أن تم حفظ الملف

    إكتب فى الشل الأمر التالى :

    كود PHP:
    #cat linux.txt 
    تجد أنه تم عرض محتويات الملف وهى linux is freedom

    والان نعود للمحرر مرة أخرى :

    كود PHP:
    #vi linux.txt 
    إدخل إضغط i ثم إبدأ بالتعديل وكتابة التالى

    كود PHP:
    dklj$%^vdz345fgnvasd#sdfg#$%$^ASDFGasef654652 
    ثم إضغط EsC
    فلنفرض أننا أفسدنا الملف مثلما حدث الآن ولنفترض أنه ملف مهم جدا فى ال system
    نقوم بعمل إحدى خطوتين :
    الأولى : إضغط EsC ثم قم بعمل خروج كالتالى اولا : ثم q! حرف الq يأتى أولا وبهذا كأننى أقول للبرنامج لا تحفظ ما قمت به من عمل
    الثانية : أن أقوم بالضغط EsC ثم أعطى الأمر u فى وضع الأوامر الخاص بالمحرر وحينها سيقوم بإلغاء آخر تعديل قمت به

    والآن نجرب شىء آخر
    لو أردت عمل edit لاخر السطر إضغط الحرف A لاحظ حرف كبير
    لو أردت تحت السطر o ( حرف ضغير )
    فوق السطر الحالى : O ( حرف oكبير )


    ننتقل للوضع الآخر وهوا الوضع الأول وضع الأوامر :
    اضغط اى رقم ثم سهم يمين أو يسار سيقوم بنقلك خمس او اى عدد من الحروف
    عند الضغط على G تنزل لآخر سطر فى الملف
    عند الضغط على g تصعد لأول سطر فى الملف
    عند الضغط على w تتحرك بالكلمة للأمان
    عند الضغط على p يقوم بنقلك كلمة للخلف
    عند الضغط على ) shift+9 تنقلك بالجملة بمعنى جملة للامام او جملة للخلف وهكذا
    عند الضغط على }أو { تنقلك بالبرجراف paragraph
    عند كتابة فى وضع الأوامر العلامة : يتبعها رقم تنقلك للسطر رقم الذى قمت بكتابة رقمه
    عند كتابة تنقلك إلى نهاية الملف او السطر الأخير

    ويمكنك داخل ال VI تستخدم نفس الخواص الخاصة ب sed
    مثلا :

    ادخل على الملف كالتالى

    كود PHP:
    #vi linux.txt 
    ثم تكتب

    كود PHP:
    # :1,3s/KAREEM/mostafa 
    وهنا طلبت منه عملت search & replace من السطر الأول وحتى التالت عن كلمة kareem واستبدالها ب mostafa

    ماذا لم لم اكن اعلم عدد سطور الملف ؟؟؟

    اكتب التالى :

    كود PHP:
    #%s/mostafa/Ahmed 
    وبهكذا سيقوم بعمل بحث وإستبدال داخل كل سطور الملف

    ننتقل إلى جزئية أخرى وهى :التعامل مع الأسطر

    فمثلا أردت عمل copy من مجموعة سطور أو من سطر معين

    أنته الان داخل وضع الأوامر command فى المحرر

    إضغط على رقم يكون هوا عدد الأسطر المراد عملها copy ثم حرف yy
    بالتتالى تلاحظ ظهور عبارة أسفل المحرر تقول :
    3 lines yanked

    ايا كان عدد السطور

    ولعمل paste إضغط الحرف p

    ولو أردت عمل delet لسطر معين dd
    ولو أردت عمل مسح للكلمة وأن تكتب مكانها cc
    لو اردت عمل undo نقوم بالضغط u حرف صغير
    وال U حرف كبير تقوم بعمل unde لكل التغييرات ولكن حتى مكان وقوف السهم او مؤشر الكتابة
    وعند عمل Ctrl +r يقوم بعمل redo او
    يقوم بإلغاء ال undo او يأخذك خطوة للأمام

    لو اردت عمل تحديد للجمل والسطور اقوم بالضغط على v بالاضافة الى الأسهم
    بينما حرف ال V كبير يقوم بعمل تحديد ولكن للسطر الواحد سطر سطر

    ماذا لو أردت فتح أكتر من vi مع بعض فى الشل فى نفس الوقت

    إضغط CtrL + w + s او Ctrl +w +v
    وهنا يقسم الشاشة الى إتنين من محررى ال vi
    وعند الضغط على Ctrl + w+ سهم لأسفل
    ينقلك إلى النافذة السفلى من ال vi
    لاحظ انك تفتح الملف فى اكثر من نافذة

    ماذا لو اردت فتح اكثر من ملف فى أكثر من نافذة ؟؟ فى نفس الشل

    افتح الان ملف بنفس النافذتين كما وضحنا الان ثم قم بعمل الزر EsC فى احداهما ثم
    :e /etc/passwd
    هنا قمنا بكتابه احدى خيارات الأمر sed وقام بفتح الملف فى النافذة الأخرى

    والانتقال بينهم Ctrl + w+ سهم

    والان نأتى لأهم أصعب جزء بالشرح :
    لدينا نوعين من عمل الاعدادات ال configuration للvi وذلك من خلال إما أريد عمل إعداد run time بمعنى انه ينفذ فى الملف الحالى وبعد الاغلاق ينتهى هذا الإعداد ويعود ال vi لاعداداته الأساسية
    أو
    عمل إعداد بشكل دائم داخل ال vi بحيث كلما أردت فتح اى ملف يظل الإعدادت
    ويتم تخزين هذه الاعدادات داخل ملف الاعدادات الخاص بال vi لكل يوزر وهوا فى المسار الخاص به كالتالى
    كود PHP:
    #  ~/.vimrc
    or
    # ~/.exrc 
    وليكن من هذه الإعدادات مثلا :
    عند البحث عن اى كلمة بال small اعطنى النتائج أيا كانت أشكالها ( حروف كبيرة أو صغيرة )

    والعديد

    لنحاول الطريقة الأولى وهى إعداد ال run time او on The Fly

    يتم التحكم من خلال الوضع الأوامر فى ال vi
    ثم تقوم بكتابة الأوامر التى تريدها مثلا :

    كود PHP:
    #set ignorecase 
    بمعنى انى عند عمل سيرش يعيطنى كافة النتايج كبيرة او صغيرة ( الحروف )
    والان اغلق الملف :q
    ثم إفتحه مرة أخرى وحاول البحث عن اى كلمة captal سيعطى لك النتائج الكابتل فقط ولا يعطيك الحروف ال small لان الاعدادات طارت أو اختفت مع الإغلاق


    للمزيد عليك بالدخول على ال
    كود PHP:
    vi linux.txt 
    ثم فى وضع الأوامر ضع التالى :
    كود PHP:
    :help ignorecase 
    او من سطر الاوامر فى الterminal
    #vimtutor
    الدروس الخاصة ب vi ,vim

    إقرأ أكثر وجرب بيديك وستستفيد أكثر

    ولا تنسى أن ال vi مهما كانت الصعوبة التى تراه بها فهوا الأفضل ويجب عليك إحترافه

    نعود للسؤال الملح لكل من يقرأ فى التحكم فى ال text files
    اقول له أن لكى تصبح مدير نظام ناجح عليك بأن تعرف التعديل السريع والفعال فى كل للنصوص لأنها هى إعدادت الجهاز وإعدادت الخادم

    تقبلوا تحياتى ولا تنسونى من خالص دعائكم لى ولجميع المسلمين
    وتحياتى لأستاذى المهندس مصطفى

    فى أمان الله

    وتتواصل المقالات
    و ترقبوا : قراءات فى لينوكس إدارة الخادم والشبكات

    الكاتب
    كريم عبد القادر
    27 مارس 2009
    10:37 صباحا
    كريم عبد القادر
    إستضافة و تصميم و دعم فنى
    سبحان الله وبحمده سبحان الله العظيم

  • #2
    شكرا على المقالة المفيدة أخي كريم عبد القادر

    هما نفس المحرر ونفس الخواص ولكن ال vim = vi modified
    vim = Vi IMproved

    إضافة : Best Vim Tips

    تعليق


    • #3
      شكرا ياكريم
      وكمان اضافة
      A Byte of VIm
      Programming-Fr34ks[dot]NET
      Ma Weblog
      ابدأ بتعلم Python | Ruby
      كتاب البايثون متوافر الآن
      لا اتواجد بهذا المنتدى ... للإتصال

      تعليق


      • #4
        اين اخينا نور متخصص التحويل لpdf



        بالانتظار

        اخي كريم صراحه مواضيعك مميزه تستحق التثبيت كلها دون استثناء وتضرب على الوتر الحساس في لينوكس
        جزاك الله خير


        •°o.O islamux O.o°•
        أنا إن عشت لنفسي عشت حقيرًهزيلا :::ومهما تعلمت لا أزال جهولا
        "يَوْمَ تَجِدُ كُلُّ نَفْسٍ مَا عَمِلَتْ مِنْ خَيْرٍ مُحْضَرا..الايه(آل عمران:30)

        *****
        إذَا لَمْ تَسْتَطِعْ شيئًا فدَعْهُ = وجاوِزْهُ إلى مَا تَستَطِيعُ
        تلميح اليوم

        FreeBSD في كبسولة !
        لا يطلب العلم مستحي ولا مستكبر
        اللهم اجعل عملنا خالصا لوجهك الكريم.
        فان تجد عيبا فسدَ الخللا ****** جلَ من لا عيب فيه وعلا
        كل مشاركاتي في المجتمع وقف لله تعالى
        Tweeter

        تعليق


        • #5
          واو بارك الله فيك أخي الكريم على الشرح الوافي والمفصل جعله الله في ميزان حسناتك إن شاء الله الشباب أضفوا مكنت أريد إضافته وعععععـ في المرة المقبلة إن شاء الله أسبقكم خخخـ
          1 2 3
          V!Và L'ALGER!e



          تعليق


          • #6
            السلام عليكم ورحمة الله وبركاته
            =============================
            شرح رائع من انسان رائع .... جزاك الله خيراً

            أسف على التأخير أخى Islamux
            ولكن السبب هو الإضافتين من Amine27 & StrikerX فلقد قمت باضافة محتوياتهم الى الكتاب لتعم الفائده
            ولقد كانت الصفحات المطلوب تحويلها كثيرة جداً خصوصاً التى اضافها أخى StrikerX
            المهملقد تم تحويل الموضوع الى PDF مع محتويات الاضافتين اللتان تمت اضافتهم بالكامل ومرفق ايضاً الملف المصدرى لمن يريد الاضافه او التعديل
            اتمنى أن أكون قد أفدتكم
            وشكراً
            ============================
            أخوكم نور

            vim.zip (919.5 كيلوبايت)
            الملفات المرفقة
            سبحانك اللهم وبحمدك.أشهد أن لا اله الا أنت.أستغفرك وأتوب اليك
            facebook
            أرجو الدعاء لمصر وشعبها

            تعليق


            • #7
              المشاركة الأصلية بواسطة Nour_aoi مشاهدة المشاركة
              السلام عليكم ورحمة الله وبركاته
              =============================
              شرح رائع من انسان رائع .... جزاك الله خيراً

              أسف على التأخير أخى Islamux
              ولكن السبب هو الإضافتين من Amine27 & StrikerX فلقد قمت باضافة محتوياتهم الى الكتاب لتعم الفائده
              ولقد كانت الصفحات المطلوب تحويلها كثيرة جداً خصوصاً التى اضافها أخى StrikerX
              المهملقد تم تحويل الموضوع الى PDF مع محتويات الاضافتين اللتان تمت اضافتهم بالكامل ومرفق ايضاً الملف المصدرى لمن يريد الاضافه او التعديل
              اتمنى أن أكون قد أفدتكم
              وشكراً
              ============================
              أخوكم نور

              vim.zip (919.5 كيلوبايت)
              في الله
              •°o.O islamux O.o°•
              أنا إن عشت لنفسي عشت حقيرًهزيلا :::ومهما تعلمت لا أزال جهولا
              "يَوْمَ تَجِدُ كُلُّ نَفْسٍ مَا عَمِلَتْ مِنْ خَيْرٍ مُحْضَرا..الايه(آل عمران:30)

              *****
              إذَا لَمْ تَسْتَطِعْ شيئًا فدَعْهُ = وجاوِزْهُ إلى مَا تَستَطِيعُ
              تلميح اليوم

              FreeBSD في كبسولة !
              لا يطلب العلم مستحي ولا مستكبر
              اللهم اجعل عملنا خالصا لوجهك الكريم.
              فان تجد عيبا فسدَ الخللا ****** جلَ من لا عيب فيه وعلا
              كل مشاركاتي في المجتمع وقف لله تعالى
              Tweeter

              تعليق


              • #8
                مشكوووووور جدا وشرح جميل ونتمنى المزيد من الموضيع المهمه لكن كان عندى طلب يارات ملف pdf الخاص با شرح الموضوع

                تعليق


                • #9
                  جازاك الله خيرا
                  لا إله إلا الله محمد رسول الله صلى الله عليه وسلم
                  صفحتي على فيسبوك // مدونتي
                  كتاب شرح توزيعة Parted Magic

                  تعليق

                  يعمل...
                  X