ভিআইএম সিআরটিএলপিভিম প্লাগইন: কীভাবে ফাইলগুলি পুনর্নির্মাণ করবেন?


152

আমি দারুণ ctrlp.vim প্লাগইন জুড়ে এসেছি । এটি কমান্ড-টি প্লাগইনের একটি ভাল বিকল্প যা আমি আগে ব্যবহার করেছি। কমান্ড-টি সম্পর্কে আমি যা পছন্দ করি না তা হ'ল ভিএমটি শুরু করার পরে প্রথমবারের জন্য ফাইলগুলি পুনরায় চালু করতে প্রায় 20-30 সেকেন্ড সময় লাগবে।

CtrlP অনেক দ্রুত কাজ করে তবে নতুনভাবে তৈরি হওয়া ফাইলগুলির জন্য এটি স্বয়ংক্রিয়ভাবে পুনরায় চালু হবে বলে মনে হয় না। আমি কীভাবে একটি উদ্ধার ম্যানুয়ালি ট্রিগার করব?

ধন্যবাদ!


3
এটি ডকুমেন্টেশনে খুব স্পষ্টভাবে উত্তর দেওয়া হয়েছে।
মার্ক ওয়াইল্ডেন

উত্তর:


283

ডকুমেন্টেশন থেকে :

<F5>
  - Refresh the match window and purge the cache for the current directory.
  - Remove deleted files from MRU list.

এটি ধরে নিয়েছে আপনি ইতিমধ্যে ctrl-p মোডে রয়েছেন। নোট করুন যে আপনি কোনও ক্যোয়ারির মাঝখানে F5 টি আঘাত করতে পারেন, অর্থাত্ আপনি কয়েকটি অক্ষর টাইপ করতে পারেন, এটি সম্প্রতি আপডেট হওয়া ফাইলের সাথে মিলছে না এবং ঠিক তখনই রিফ্রেশ করতে F5 টিপুন। ফাইলটি কেবলমাত্র সিটিআরএল-পি ক্যাশে যুক্ত করা থাকলে এটি স্বয়ংক্রিয়ভাবে আপনাকে ম্যাচটি দেখাবে।


105
নোট করুন যে এটি অবশ্যই সিটিআরএল-পি মোডে থাকা অবস্থায় করা উচিত। সুতরাং, 1. ctrl-p২।F5
ডেভিড কে

1
প্রায় আমার জন্য কাজ করে, আমি এটি আপডেট হতে দেখছি তবে এটি নতুন যুক্ত হওয়া ফাইলগুলি খুঁজে পায় না
xer0x

1
@ xer0x নিশ্চিত করুন যে আপনি সঠিক সিডব্লিউডিতে রয়েছেন। NERDTree ব্যবহার করার সময় একই সমস্যা ছিল।
jsbeckr

9
কেবল যোগ করার জন্য, আপনি বর্তমানে সম্পাদনা করার সময় আপনি নিজের ফাইল অনুসন্ধান করতে পারবেন না।
ড্যারিল স্যান্টোস

58

জিত যেমনটি বলে আপনি চাপতে পারেন F5তবে এটি যদি কাজ না করে আপনি সর্বদা চালাতে পারেন :CtrlPClearCacheযা চালানোর F5কথা।

ডকুমেন্টেশন থেকে

: CtrlPClearCache
বর্তমান কার্যক্ষম ডিরেক্টরি জন্য ক্যাশে ফ্লাশ করুন Fl CtrlP এর ভিতরে টিপানোর মতোই as
ক্যাচিং সক্ষম বা অক্ষম করতে, | g: ctrlp_use_caching | ব্যবহার করুন বিকল্প।


আমার জিএনইউ স্ক্রিন উইন্ডোজগুলি আমার এফএন কীগুলিতে ম্যাপ করা হয়েছে যাতে এটি নিখুঁত হয় - ধন্যবাদ!
লিওনার্ডচ্যালিস

6

যদি আপনি চান, একটি সংরক্ষণের ঘটনা ঘটে গেলে আপনি স্বয়ংক্রিয়ভাবে ক্যাশে আবদ্ধ করতে পারেন, সুতরাং এটি পরবর্তী ব্যবহারে রিফ্রেশ করতে বাধ্য হবে।

এটি আপনার ভিআরসিআর-এ রাখুন (ক্রেডিট ডকুথ ):

" CtrlP auto cache clearing.
" ----------------------------------------------------------------------------
function! SetupCtrlP()
  if exists("g:loaded_ctrlp") && g:loaded_ctrlp
    augroup CtrlPExtension
      autocmd!
      autocmd FocusGained  * CtrlPClearCache
      autocmd BufWritePost * CtrlPClearCache
    augroup END
  endif
endfunction
if has("autocmd")
  autocmd VimEnter * :call SetupCtrlP()
endif

দুর্ভাগ্যক্রমে পটভূমিতে ক্যাশেটি স্বয়ংক্রিয়ভাবে তাজা রাখার কোনও উপায় নেই।


2
কিছুটা ব্যয়বহুল বলে মনে হয়। একটি নতুন ফাইল তৈরি করার জন্য একটি সম্ভাব্য ট্রিগার আছে?
অ্যালেক্স মুর-নিমি

4

আমি এটি .vimrc এ যুক্ত করেছি যা ctrlp ক্যাচিং বন্ধ করে দেয়

g:ctrlp_use_caching = 0


এটি সম্ভবত মূল প্রশ্নের সর্বোত্তম এবং সবচেয়ে সঠিক উত্তর। বিশেষত যদি আপনি এমন কোনও কম্পিউটারে থাকেন (আমি আপনাকে অ্যাপল দেখছি ..) যেখানে ফাংশন সারিটিতে অ্যাক্সেসের জন্য বিকল্প পরিবর্তক কী প্রয়োজন।
ডিভন কিস

আমি এই উত্তরটি পছন্দ করি, এমনকি ক্যাশে আউট থাকা সত্ত্বেও, সিটিআরপি ইতিমধ্যে যথেষ্ট দ্রুত, গতি বাড়ানোর জন্য অ্যাগ ব্যবহার করতে পারে
নান ট্রান

2

আমি জানি এটি একটি পুরানো প্রশ্ন, তবে এটি এত সহজ যে আমাকে মন্তব্য করতে হবে। এটি আপনার .vimrc এ রাখুন

:nnoremap <c-p> :CtrlPClearCache<bar>CtrlP<cr>

এটি ক্যাশে রিফ্রেশ করবে এবং তারপরে CtrlP এ কল করবে। আর কোনও ফাইল নেই।


2
শুধু কেন ক্যাচিং অক্ষম করবেন না g:ctrlp_use_caching?
মার্টিন টর্নয়েজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.