Window.pipedriveLeadboosterConfig = { القاعدة: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', الإصدار: 2, } ؛(الدالة () { var w = نافذة إذا كان (w.LeadBooster) { console.warn('LeadBooster موجود بالفعل') } وإلا { { w.LeadBooster = { q: [], على: دالة (ن، ح) { { هذا.q.push({ t: 'o'، n: n، n: n، h: h }) }, الزناد: الدالة (n) { هذا.q.push({ t: 't'، n: n: n }) }, } } })() تطوير القضبان باستخدام TMUX و Vim و Fzf + Ripgrep - The Codest
The Codest
  • نبذة عنا
  • الخدمات
    • تطوير البرمجيات
      • تطوير الواجهة الأمامية
      • تطوير الواجهة الخلفية
    • Staff Augmentation
      • مطورو الواجهة الأمامية
      • مطورو الواجهة الخلفية
      • مهندسو البيانات
      • مهندسو السحابة
      • مهندسو ضمان الجودة
      • أخرى
    • استشاري
      • التدقيق والاستشارات
  • الصناعات
    • التكنولوجيا المالية والمصرفية
    • E-commerce
    • أدتك
    • التكنولوجيا الصحية
    • التصنيع
    • الخدمات اللوجستية
    • السيارات
    • إنترنت الأشياء
  • القيمة مقابل
    • CEO
    • CTO
    • مدير التوصيل
  • فريقنا
  • دراسات الحالة
  • اعرف كيف
    • المدونة
    • اللقاءات
    • ندوات عبر الإنترنت
    • الموارد
الوظائف تواصل معنا
  • نبذة عنا
  • الخدمات
    • تطوير البرمجيات
      • تطوير الواجهة الأمامية
      • تطوير الواجهة الخلفية
    • Staff Augmentation
      • مطورو الواجهة الأمامية
      • مطورو الواجهة الخلفية
      • مهندسو البيانات
      • مهندسو السحابة
      • مهندسو ضمان الجودة
      • أخرى
    • استشاري
      • التدقيق والاستشارات
  • القيمة مقابل
    • CEO
    • CTO
    • مدير التوصيل
  • فريقنا
  • دراسات الحالة
  • اعرف كيف
    • المدونة
    • اللقاءات
    • ندوات عبر الإنترنت
    • الموارد
الوظائف تواصل معنا
السهم الخلفي العودة إلى الوراء
2021-06-07
تطوير البرمجيات

تطوير القضبان باستخدام TMUX و Vim و Fzf + Ripgrep

The Codest

مارسين دوليوا

Software Engineer

قبل بضع سنوات، كنت أستجوب بعض أصدقائي، وجميعهم مطورو جافا. لست متأكدًا من كيفية حدوث ذلك، لكننا بدأنا الحديث عن بيئات البرمجة الخاصة بنا. أخبرتهم أنني أقوم بكل ما أقوم به من تطوير باستخدام Vim والمحطات الطرفية. أثار ذلك بعض النكات والأسئلة المضحكة، مثل ما إذا كنت لا أزال أستخدم البطاقات المثقوبة 🙂

ومنذ ذلك الحين، جربت بعض برامج IDE "الحقيقية" لكنني كنت أعود دائمًا إلى فيم والمحطات الطرفية حيث إنها طريقة سريعة جدًا، وتحتوي على جميع الأدوات التي أحتاجها وأحب ببساطة العمل في وضع النص.

إليك بعض التفاصيل حول سير عملي. تجدر الإشارة إلى أنني أعمل على نظام لينكس، ولكن يمكنك إعداده على نظام ماك أو ويندوز دون أي مشاكل.

أبدأ يوم عملي بفتح محطة طرفية، و cd ~/Projects/XYZ، وتشغيل تمكسلذا دعنا نبدأ من هنا.

تموكس

ما هو تموكس? كما يقول المؤلفان

TMUX هو مُضاعِف إرسال طرفي. يُتيح لك التبديل بسهولة بين عدة برامج في محطة طرفية واحدة، وفصلها (تظل تعمل في الخلفية) وإعادة ربطها بمحطة طرفية مختلفة.

أستخدمه للتبديل بين عدة أشياء في محطة واحدة. لذا، في واحد تموكس النافذة، لدي القضبان الخادم قيد التشغيل، في الثانية لدي فيم مفتوحة، وفي كل مرة أحتاج فيها إلى القيام بشيء ما في المحطة، مثل التحقق من المسارات أو تشغيل الترحيلات أو الاختبارات، أفتح نافذة جديدة مع CTRL-A C وفعل الشيء

لا أستخدم تموكس الأجزاء، والنوافذ فقط، وأقوم بالكثير من التبديل (لديّ CTRL + double-A مرتبط بالتبديل بين النوافذ الأخيرة).

ميزة أخرى مريحة للغاية لـ تموكس هو أنه يسمح لي بالعثور على نص ونسخه من محطة طرفية دون استخدام الماوس.

فيم

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

ما أود أن أعرضه عليكم هو الطريقة التي أدمج بها فيم مع أدوات أخرى للحصول على كل ما أحتاجه كمطور ويب.

المكونات الإضافية

لست من محبي المكونات الإضافية الثقيلة فيم التكوينات، لذلك أنا أستخدم القليل منها فقط. فيما يلي القائمة:

نيردتري - هو مستكشف ملفات. يتيح لك القيام ببعض عمليات نظام الملفات الأساسية بسهولة، مثل نقل الملفات وإعادة التسمية وإنشاء ملفات جديدة وغيرها الكثير,

فيم-إندوايز - أنا مطور روبي، لذا أستخدمه لإضافة النهاية بعد إذا, افعل, ديف، والعديد من الكلمات الرئيسية الأخرى,

فيم-رايلز - إنه القضبان مكون الطاقة الإضافي. يعرف بنية تطبيق رايلز. هل تريد التحقق من الجزئية الموجودة أسفل المؤشر؟ فقط اضغط على زف ويفتحه في نافذتك الحالية. يحتوي على العديد من الخيارات الأخرى ولكن هذا هو الخيار الذي أستخدمه في أغلب الأحيان,

فيم-محيط - مكون إضافي رائع يجعل العمل مع المناطق المحيطة سهلًا للغاية. باستخدامه، يمكنك تغيير محيط النص من () إلى [] ببضع ضغطات على المفاتيح,

فيم-تكرار - مكمل لـ Vim-surround. يسمح بتغيير محيطي متكرر مع . (كرر التغيير الأخير في Vim),

فيمويكي- طريقي لتدوين الملاحظات

fzf.vim+ ف زف - الجزء الأساسي من تطوير الويب سير العمل.

راية التعاون

Fzf + ريبجريب

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

ف زف هو مرشح يونيكس تفاعلي لسطر الأوامر يمكن استخدامه مع أي قوائم (الملفات، سجل الأوامر، التزامات git، قوائم العمليات)؛ بعبارة أخرى، هو مكتشف ضبابي.

ريبجريب هو بديل لـ grep، ولكنه البديل السريع للغاية.

بمجرد الجمع بينهما، يتيح لي هذان الاثنان العثور بسرعة على أي شيء أريده في المشروع.
لدي إعدادان في فيم ملف التكوين لمساعدتي في ذلك:

nnoremap  :الملفات
خريطة nnoremap  :Rg

الأول يتيح لي العثور بسرعة على الملفات الصحيحة باستخدام البحث الضبابي على مسارات الملفات (CTRL-P). والثاني تشغيل أداة البحث الضبابي على جميع مسارات ومحتويات الملفات في مشروعي باستخدام ريبجريب (CTRL-F).

إذًا، لنفترض أنني أريد العثور على الهجرة حيث أضفت عمودًا إلى المستخدمون الجدول. أضغط على CTRL-F وأكتب شيئًا مثل آدكولوسنام وسوف تتطابق مع إضافة_عمود :المستخدمون، :الاسم، :سلسلة.

عندما أبحث عن تعريف طريقة، غالبًا ما أقوم بتشغيل CTRL-F تعريف اسم_الطريقة.

إنه مفيد جدًا لأنه يبحث من خلال مسار الملف + المحتوى. إنه مناسب بشكل خاص عندما أعرف أن المحتوى الذي أبحث عنه موجود في جزء معين من المشروع. على سبيل المثال، أريد العثور على مكان تحديث اسم مستخدم، وأتذكر أنه كان في مكان ما في وحدات التحكم. أضغط على CTRL-F conupdname لمطابقة الخط التطبيق/المتحكمون/المستخدمون_المتحكمون: @user.update(الاسم: اسم: new_name).

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

فيديو

انقر هنا لمشاهدة تسجيل قصير لي وأنا ألعب بقاعدة شيفرة "discourse" (440 ألف LOC على حاسوبي i5، 16 جيجابايت) وأظهر كيف أتحرك عادةً في المشروع.

الملخص

آمل أن تكون مهتمًا بإعدادي وقررت أن تعطي ف زف في مساعي البرمجة الخاصة بك. لقد غيرت حقًا الطريقة التي أستخدم بها فيم كـ الكود محرر

مقالات ذات صلة

التكنولوجيا المالية

5 أمثلة على أفضل استخدامات روبي

هل تساءلت يومًا ما الذي يمكننا فعله مع روبي؟ حسناً، ربما تكون السماء هي الحد الأقصى، ولكن يسعدنا أن نتحدث عن بعض الحالات المعروفة بشكل أو بآخر...

The Codest
بافيل موسزينسكي Software Engineer
تطوير البرمجيات

اعرف المزيد عن Ruby on Rails مع حانة/فرع

يمكن أن تجلب Pub/Sub العديد من الفوائد للمشروع - يمكنها أن تجعل الكود نظيفًا وتفصل الخدمات وتجعلها قابلة للتطوير بسهولة. تعرف على المزيد حول Pub/Sub في المقالة التالية...

The Codest
ميشال بافلاك مطور روبي أول
تطوير البرمجيات

تطوير المنتج: Python مقابل روبي

Python وروبي كلاهما أكثر لغات البرمجة الخلفية استخدامًا. Python أكثر شيوعًا بعض الشيء ولها تطبيق أوسع. ومع ذلك، فإن روبي تجلب أيضًا العديد من الفوائد و...

The Codest
كامل فيرينز رئيس قسم النمو

اشترك في قاعدة معارفنا وابقَ على اطلاع على آخر المستجدات في قطاع تكنولوجيا المعلومات.

    نبذة عنا

    The Codest - شركة دولية لتطوير البرمجيات لها مراكز تقنية في بولندا.

    المملكة المتحدة - المقر الرئيسي

    • المكتب 303 ب، 182-184 شارع هاي ستريت نورث E6 2JA
      لندن، إنجلترا

    بولندا - مراكز التكنولوجيا المحلية

    • مجمع مكاتب فابريتشنا المكتبي، أليجا
      بوكوجو 18، 31-564 كراكوف
    • سفارة الأدمغة، كونستروكتورسكا
      11, 02-673 02-673 وارسو، بولندا

      The Codest

    • الصفحة الرئيسية
    • نبذة عنا
    • الخدمات
    • دراسات الحالة
    • اعرف كيف
    • الوظائف
    • القاموس

      الخدمات

    • استشاري
    • تطوير البرمجيات
    • تطوير الواجهة الخلفية
    • تطوير الواجهة الأمامية
    • Staff Augmentation
    • مطورو الواجهة الخلفية
    • مهندسو السحابة
    • مهندسو البيانات
    • أخرى
    • مهندسو ضمان الجودة

      الموارد

    • حقائق وأساطير حول التعاون مع شريك خارجي لتطوير البرمجيات
    • من الولايات المتحدة الأمريكية إلى أوروبا: لماذا تقرر الشركات الأمريكية الناشئة الانتقال إلى أوروبا؟
    • مقارنة مراكز تطوير التكنولوجيا في الخارج: تك أوفشور أوروبا (بولندا)، آسيان (الفلبين)، أوراسيا (تركيا)
    • ما هي أهم التحديات التي تواجه CTOs ومديري تكنولوجيا المعلومات؟
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • شروط استخدام الموقع الإلكتروني

    جميع الحقوق محفوظة © 2025 بواسطة The Codest. جميع الحقوق محفوظة.

    arArabic
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek arArabic