Ctrl-n সমাপ্তি "স্ক্যান অন্তর্ভুক্ত ফাইল" জন্য একটি দীর্ঘ সময় নেয়


16

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

#use Moose;

সুতরাং এই বৈশিষ্ট্যটির কোনও মূল্য হবার জন্য আমাকে এই লাইনগুলি মুছতে হবে। আমি কিছু অনুপস্থিত করছি?

আমি পার্ল-সমর্থন প্লাগইন ব্যবহার করছি।


আমি let g:ctrlp_custom_ignore = { 'dir': '^/usr/' } let g:ctrln_custom_ignore = { 'dir': '^/usr/' }
.vimrc এ

উত্তর:


14

ডিফল্টরূপে, যখন আপনি আঘাত করেন C-nবা C-p, ভিম বিভিন্ন উত্সের ভিতরে খোঁজ করে প্রার্থী খুঁজে বের করে যা সমাপ্তি মেনুটি তৈরি করবে।

এই উত্সগুলি বাফার-লোকাল 'complete'বিকল্পের সাথে কনফিগার করা যায় ।

এই বিকল্পটির মান হ'ল পতাকাগুলির একটি কমা-বিচ্ছিন্ন তালিকা। প্রতিটি পতাকার নিজস্ব অর্থ বর্ণিত আছে :h 'cpt:

.   scan the current buffer ('wrapscan' is ignored)
w   scan buffers from other windows
b   scan other loaded buffers that are in the buffer list
u   scan the unloaded buffers that are in the buffer list
U   scan the buffers that are not in the buffer list
k   scan the files given with the 'dictionary' option
kspell  use the currently active spell checking |spell|
k{dict} scan the file {dict}.  Several "k" flags can be given, patterns are valid too.  For example:  
        :set cpt=k/usr/dict/*,k~/spanish
s   scan the files given with the 'thesaurus' option
s{tsr}  scan the file {tsr}.  Several "s" flags can be given, patterns are valid too.
i   scan current and included files
d   scan current and included files for defined name or macro |i_CTRL-X_CTRL-D|
]   tag completion
t   same as "]"

ডিফল্টরূপে, এর মান হ'ল .,w,b,u,t,iযার অর্থ:

   1. the current buffer
   2. buffers in other windows
   3. other loaded buffers
   4. unloaded buffers
   5. tags
   6. included files

যদি আপনি দেখতে পান যে অন্তর্ভুক্ত করা ফাইলগুলি স্ক্যান করতে খুব বেশি সময় নেয়, আপনি বিকল্পটি iথেকে পতাকাটি সরাতে চেষ্টা করতে পারেন 'cpt'

আপনি যদি ডিফল্টরূপে সমস্ত বাফারকে প্রভাবিত করতে গ্লোবাল মান থেকে এটি মুছে ফেলতে চান তবে আপনি আপনার লিখতে হবে vimrc:

setglobal complete-=i

আপনি যদি একই জিনিসটি করতে চান তবে কেবল perlফাইলের জন্য , আপনি নিজের ভিতরে একটি অটোকিমডি ইনস্টল করতে পারেন vimrc:

augroup PerlSettings
    autocmd!
    autocmd FileType perl setlocal complete-=i
augroup END

বা আরও ভাল, আপনি একটি ফাইল টাইপ প্লাগইন তৈরি করতে পারেন, উদাহরণস্বরূপ ~/.vim/after/ftplugin/perl.vim, যাতে আপনি কেবল লিখতে পারেন:

setlocal complete-=i

আপনার 'complete'বিকল্পের বর্তমান বৈশ্বিক এবং স্থানীয় মানগুলি কী এবং সেগুলি সর্বশেষ সেট করা হয়েছিল তা পরীক্ষা করতে আপনি এই আদেশগুলি ব্যবহার করতে পারেন:

verbose setglobal complete?
verbose setlocal complete?

বা সংক্ষিপ্ত:

verb setg cpt?
verb setl cpt?

আপনার আগ্রহী একমাত্র উত্স যদি বর্তমান বাফার হয় তবে ব্যবহারের পরিবর্তে C-nআপনি ব্যবহার করতে পারেন C-x C-n। দেখুন :h i_^x^nআরও তথ্যের জন্য।


1
নির্দিষ্ট পাথগুলিতে কীওয়ার্ডগুলি ফাইলগুলিতে বাদ দেওয়ার কোনও উপায় আছে?
স্টিভিডি

'complete'"অন্তর্ভুক্ত ফাইলগুলি" উল্লেখ করার জন্য ভিম ডক্স , তবে এর অর্থ কী সে সম্পর্কে আরও বিশদে লিঙ্ক করবেন না। সুতরাং, পড়ুন :he include-search। সেখানে, আপনি দেখতে পাচ্ছেন যে 'include'বিকল্পটি এর অর্থ কী তা সংজ্ঞায়িত করে এবং 'path'অনুসন্ধানের জন্য ব্যবহৃত হয়। এগুলি পুরো বৈশিষ্ট্যটি চালু / বন্ধ করার চেয়ে সূক্ষ্ম কাস্টমাইজেশন করার জন্য দরকারী।
jwd
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.