مكون إضافي vim لتحسين تجربة البحث عن المشروع عند استخدام أدوات مثل ag وrg.
لقد ألهمتني قدرة fzf.vim على :Ag
البحث عن كلمات متعددة بدون علامات اقتباس، وتضييق نطاق النتائج المتعددة في الوقت الفعلي باستخدام بناء جملة البحث الموسع، ثم تعبئة الإصلاح السريع لإعادة بناء كبيرة؟
:Ag function index
لكنني وجدت نفسي أفتقد القدرة على تمرير خيارات سطر الأوامر مثلما أفعل مع ack.vim's :Ack
?
:Ack -Q -i 'function index' vendor
علاوة على ذلك، فإن fzf.vim's :Ag
يعامل علامات الاقتباس كجزء فعلي من استعلام البحث، وهو ما يتعارض مع ag
في سطر الأوامر.
وبالتالي، فإن الهدف من هذا البرنامج الإضافي هو جلب أفضل ما في العالمين إلى غلاف البحث المفضل لديك. يمكنك إجراء عمليات بحث متعددة الكلمات باستخدام علامات الاقتباس أو بدونها، وتمرير خيارات سطر الأوامر، والقيام بكل ذلك من خلال أمر واحد.
اقرأ المزيد عن سير عمل البحث في مشروعي باستخدام fzf.vim والزراعة ❤️
التثبيت باستخدام vim-plug أو ما شابه:
Plug 'jesseleite/vim-agriculture'
إذا كنت تستخدم fzf.vim بالفعل، فيمكنك استخدام أوامر :AgRaw
/ :RgRaw
المتوفرة.
:AgRaw func.*index
:AgRaw 'func.*index'
:AgRaw -Q 'function index()' app/Http/Controllers
وبالمثل بالنسبة لـ :RgRaw
، فقط استبدل AgRaw
في RgRaw
في الأمثلة المذكورة أعلاه.
إذا كنت تستخدم مجمّع بحث آخر، فستحتاج إلى تغليف مدخلاتك باستخدام agriculture#smart_quote_input()
.
إذا كنت تستخدم أحد الأوامر المتوفرة، فيمكنك ربط تعيينات <Plug>
المتوفرة في .vimrc
الخاص بك:
nmap <Leader>/ <Plug>AgRawSearch
vmap <Leader>/ <Plug>AgRawVisualSelection
nmap <Leader>* <Plug>AgRawWordUnderCursor
وبالمثل بالنسبة لـ :RgRaw
، فقط استبدل AgRaw
في RgRaw
في الأمثلة المذكورة أعلاه.
إذا كنت تستخدم أحد الأوامر المتوفرة، فيمكنك أيضًا تعيين خيارات سطر الأوامر الافتراضية في .vimrc
الخاص بك:
let g:agriculture#ag_options = '--case-sensitive'
مرة أخرى وبالمثل بالنسبة لـ :RgRaw
مع g:agriculture#rg_options
.
إذا كنت تستخدم أحد الأوامر المتوفرة، وترغب في تعطيل الاقتباس الذكي لتناسق سطر الأوامر:
let g:agriculture#disable_smart_quoting = 1
يتم الآن عرض نوافذ المعاينة بشكل افتراضي في العديد من أوامر fzf.vim. إذا كنت ترغب في تخصيص هذا السلوك أو تعطيله، راجع وثائق fzf.vim في نوافذ المعاينة.
سيتم نقل مدخلاتك تلقائيًا ما لم يتم استيفاء الشروط التالية:
:Ag -Q "Already quoted this pattern."
:Ag Why you "scruffy looking nerf herder"!
:Ag Who's scruffy looking?
:Ag -Q function index
:Ag Which way to the beach? -> that way!
:Ag an escaped pattern vendor/folder
TL;DR: إذا كنت تستخدم علامات الاقتباس أو الشرطات أو تحتاج إلى تمرير مسار، فمن المستحسن أن تقوم باقتباس/الهروب من النمط الخاص بك وستظل vim-agriculture بعيدة عن طريقك؟
مجرد اختراق؟