আমি কীভাবে সিআরটিএলপি আরও ভাল ফাইলের সাথে মিলে যায়?


10

আমার প্রকল্পে এই ফাইলগুলি রয়েছে:

$ find . -type f -and -name 'peop*'
./app/assets/stylesheets/admin/sections/people.css.sass
./app/controllers/admin/people_controller.rb

আমি টাইপ করতে করতে ক্লান্ত হয়ে পড়েছিলাম :e app/assets/stylesheets/admin/sections/people.css.sass, ভেবেছিলাম যে কিছু টাইপিং সংরক্ষণ করার জন্য সিটিআরএলপিপ ভাল উপায় হতে পারে। তবে, আমি যেটাকে বুদ্ধিমান মনে করি তাতে ফাইলগুলি মেলাতে আমি এটি পেতে পারি না।

প্রথমত, আমি ব্যবহার করি <C-p>এবং টাইপ করি peopএবং এটি আমাকে এই ফলাফল দেয় ("প্রথম" ম্যাচটি নীচে রয়েছে):

> app/models/attribute_group.rb
> app/models/contract_template.rb
> app/policies/contract_policy.rb
> app/uploaders/photo_uploader.rb
> app/policies/invoice_policy.rb
> app/views/layouts/pdf.pdf.haml
> app/uploaders/logo_uploader.rb
> app/models/property_object.rb
> app/policies/person_policy.rb
> app/policies/photo_policy.rb    
>>> peop_

এই ফলাফলগুলি ভয়াবহ। তাদের সাথে ফাইলগুলিও peopনেই। এমনকি আমি যখন এটিকে প্রসারিত করি তখনও people:

> app/policies/contract_template_policy.rb
> app/models/concerns/exportable.rb
> app/models/contract_template.rb
> app/uploaders/photo_uploader.rb
> app/uploaders/logo_uploader.rb
> app/views/admin/people/_show.html.haml
> app/views/admin/people/_form.html.haml
> app/views/admin/people/show.html.haml
> app/views/admin/people/edit.html.haml
> app/views/admin/people/new.html.haml 
>>> people_

এটি তাদের উভয়ের (!) তালিকা করে না

আমি গিয়েছিলাম :help ctrlp-optionsএবং একটি একক বিকল্প পেয়েছি যা কিছুটা উন্নতি করেছে:

Set this to 1 to set searching by filename (as opposed to full path) as the
default:
  let g:ctrlp_by_filename = 0

Can be toggled on/off by pressing <c-d> inside the prompt.

এটি সেট করার পরে, আমি নিম্নলিখিত ফলাফলগুলি পেয়েছি peop:

> app/controllers/admin/organisation_people_controller.rb
> app/assets/stylesheets/admin/sections/people.css.sass
> doc/formulieren/opdrachtverlening-woningbeheer.pdf
> doc/formulieren/hulptabellen-object-unit-soort.pdf
> doc/formulieren/brandpreventievoorjongeren.pdf
> app/policies/organisation_person_policy.rb
> doc/prototype-admin/prototype/inspectiemodule_apparaten.html
> app/policies/property_object_policy.rb
> app/policies/person_policy.rb
> app/controllers/admin/people_controller.rb
>d> peop_

ঠিক আছে, সুতরাং এটি কিছুটা ভাল, আমি প্রথম ফলাফলটিতে কমপক্ষে একটি প্রত্যাশিত ফাইল পেয়েছি এবং অন্যটি 9 তম হিসাবে পেয়েছি। এটি যদিও এখনও (!) এর hulptabellen-object-unit-soort.pdfচেয়ে আরও ভাল ম্যাচ হতে পারেpeople.css.sass

টাইপিং peopleশেষ পর্যন্ত আমাকে 2 টি প্রত্যাশিত ফাইল প্রথম 2 হিসাবে দেয়:

> app/controllers/admin/organisation_people_controller.rb
> app/assets/stylesheets/admin/sections/people.css.sass
> app/controllers/admin/people_controller.rb
>>> people_

এই মিলটি আমি কীভাবে আরও ভাল করতে পারি? আমি "ঝাপসা ম্যাচিং" কিছু মনে না করেন, কিন্তু এটা সবকিছু এবং সবাই ... এই ক্ষেত্রে মিলে যায় তাই ঝাপসা করা উচিত হবে না, আমি টাইপিং আশা <c-P>peopআছে app/assets/stylesheets/admin/sections/people.css.sassপারেন 1 ম বা 2nd ম্যাচ হিসেবে।


2
এটি প্রদর্শিত হয় যে ctrlp একটি কাস্টম মিলের ক্রিয়া গ্রহণ করতে পারে। এটি ডকুমেন্টেশনের অধীনে এটির'g:ctrlp_match_func ব্যবহারের একটি ভাল উদাহরণ হ'ল এই প্লাগইনটি: vim.org/scriptts/script.php?script_id=4884
এভারগ্রিনটি

উত্তর:


7

সবেমাত্র অনুরূপ প্রশ্নটি এখানে ভিম রেডডিটে জিজ্ঞাসা করা হয়েছিল । আমি বেশ কিছুক্ষণ আগে ctrlp-cmatcher নিজেই ব্যবহার শুরু করেছি যা সঠিক ফাইলের সাথে মিলে গিয়ে আমি আরও বুদ্ধিমান বলে মনে করি। নোট করুন এটির জন্য একটি সংকলিত উপাদান প্রয়োজন। অন্যথায় আপনাকে নিবন্ধে কিছু পদ্ধতির চেষ্টা করতে হবে ।


4

CtrlP এর কয়েকটি আলাদা মোড রয়েছে Ctrl-Rএবং Ctrl-DCtrl-Rআপনার ইনপুটটি কাঁচা রেজেক্স হিসাবে ব্যবহার করে, এর অর্থ আপনি এটির সাথে কেবল peopleস্পষ্টভাবে মিল পাবেন । Ctrl-Dপাথ উপেক্ষা করে কেবল ফাইলের সাথে মেলে।

আমি বিশ্বাস করি যে ডিফল্ট CtrlP কার্যকারিতা কেবল .*প্রতিটি চরিত্রের সাথে কাঁচা চরিত্র হিসাবে যোগদান করে, তাই একটি পিরিয়ডকে একটি পিরিয়ড হিসাবে ধরা হয়। আপনি যদি আগে থেকে জানতেন যে ফাইলটি কমপক্ষে 2 টি ডিরেক্টরি গভীর ছিল তবে আপনি এটি করতে পারেন //people

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.