আমি কীভাবে Vim / vi এ প্লাগইন ইনস্টল করব?


96

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

এটা কোন ব্যাপার:

  • আমি vi বা Vim ব্যবহার করব কিনা?
  • আমি জিভিম ব্যবহার করব কিনা?
  • আমি ভিমের কোন সংস্করণ ব্যবহার করছি?
  • আমার ওএস কি?

উত্তর:


65

একটি প্লাগইন ইনস্টল করতে, আমাদের কী ফর্মটি আসবে তা জানতে হবে। এটি হতে পারে:

একটি একক .vimফাইল .vim/pluginডিরেক্টরিতে রাখার কথা।

একটি ভিমবল ফাইলটি ভিমে খোলার মাধ্যমে এটি ইনস্টল করা যেতে পারে:source %

স্ট্যান্ডার্ড ডিরেক্টরি বিন্যাসে ফাইলগুলির একটি সেট সেগুলিতে অনুলিপি করে .vimবা প্লাগইন প্যাকেজ ম্যানেজার ব্যবহার করে ইনস্টল করা যেতে পারে ।

প্লাগইনগুলি নির্দিষ্ট বৈশিষ্ট্যের উপর নির্ভর করতে পারে। অতএব:

  • আপনি ভাই বা ভিম ব্যবহার করছেন কিনা তা বিবেচ্য হতে পারে,
  • আপনি জিভিম ব্যবহার করছেন বা না ব্যবহার করুন (জিভিমে সাধারণত একই বিতরণে ভিমের চেয়ে কমপাইল সময়ে আরও বেশি বৈশিষ্ট্য সক্ষম করা থাকে) তা বিবেচনা করতে পারে।
  • আপনি ভিমের কোন সংস্করণে রয়েছেন তা বিবেচ্য হতে পারে, যেহেতু আপনার ভিমের সংস্করণ পরে কোনও বৈশিষ্ট্য যুক্ত করা যেতে পারে।
  • আপনি কোন ওএসে রয়েছেন তা বিবেচনা করতে পারে, বিশেষত যদি প্লাগইনটি বাহ্যিক কমান্ডগুলিতে কল করে।

যদিও বেশিরভাগ প্লাগইনগুলির ক্ষেত্রে এটি কোনও বিষয় নয়।


9
এটি আপনি ভাই ব্যবহার করছেন কিনা তা অবশ্যই গুরুত্বপূর্ণ - ভিগির জন্য প্লাগইনগুলির ধারণা বিদ্যমান নেই। অবশ্যই, যে viকোনও আধুনিক বাক্সে টাইপ করা সম্ভবত vimকিছু বৈশিষ্ট্য বন্ধ করে চালু করা হবে। আমি সন্দেহ করি আজকাল অনেকেরই বাস্তব ভিতে অ্যাক্সেস রয়েছে ।
tommcdo

37

তেজ প্লাগ

আমি ভিআইএম-প্লাগ প্লাগইন পরিচালক ব্যবহার করতে চাই ।

ম্যানুয়ালি একটি প্লাগইন ইনস্টল করতে সমস্যা হ'ল প্লাগইন অপসারণ করা বরং এটি কঠিন ; আপনার প্রায়শই বিভিন্ন ডিরেক্টরিতে বিভিন্ন ফাইল থাকে, আপনাকে ম্যানুয়ালি এগুলি সন্ধান করতে হবে এবং সেগুলি মুছে ফেলতে হবে।

আপগ্রেড করার সমস্যাগুলি একইভাবে কঠিন: যদি autoload/old-name.vimনামকরণ হয় তবে কী হবে autoload/new-name.vim? এখন আপনার কাছে উভয় একটি প্লাগইন এর একটি পুরোনো এবং নতুন সংস্করণ।

vim-plugপ্রতিটি প্লাগইনকে নিজস্ব ডিরেক্টরিতে সঞ্চয় করে এটি সমাধান করে; এটিতে সহজেই একটি প্লাগইন ইনস্টল / মুছে ফেলার কমান্ডও অন্তর্ভুক্ত থাকে, সুতরাং আপনাকে আনজিপিং প্লাগইনগুলি এবং এ জাতীয় পছন্দগুলি নিয়ে উপহাস করার দরকার নেই।

প্যাথোজেনের উপর ভিম -প্লাগের একটি প্রধান সুবিধা হ'ল ভিম-প্লাগ আপনাকে আরও সহজে প্লাগিনগুলি ইনস্টল করতে এবং মুছে ফেলার অনুমতি দেয়। প্যাথোজেন যা কিছু করে তা প্রতিটি প্লাগইনকে একটি পৃথক অন্তর্ভুক্ত ডিরেক্টরিতে থাকতে দেয়।

ভিআইএম-প্লাগ গিট উপর নির্ভর করে ; এমএস উইন্ডোজের জন্য, আপনি এমএসএসজিট চান ।

আপনি আপনার ভিএমআরসি তে প্লাগিনগুলি এর মতো সংজ্ঞায়িত করতে পারেন:

call plug#begin('~/.vim/plugged')

" For MS Windows, this is probably better:
"call plug#begin('~/vimfiles/plugged')

Plug 'embear/vim-localvimrc'
Plug 'kchmck/vim-coffee-script'
" ... etc

call plug#end()

তারপরে ভিম পুনরায় চালু করুন এবং তারপরে প্লাগইনগুলি ইনস্টল করুন:

:PlugInstall

এটি এমএস উইন্ডোজে ~/.vim/pluggedবা এর $HOME\vimfiles\pluggedজন্য প্লাগইনগুলিকে রাখবে ।

আপনি এই স্নিপেট এফএকিউ থেকে আপনার ভিএমআরসি ফাইলটিতে plug#begin()কল করার আগে যোগ করতে পারেন :

if empty(glob('~/.vim/autoload/plug.vim'))
  silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
    \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  autocmd VimEnter * PlugInstall
endif

curlএটি কাজ করার জন্য আপনার প্রয়োজন নোট করুন । এটি প্রায়শই লিনাক্স এবং ওএসএক্স-এ পাওয়া যায় তবে এমএস উইন্ডোজে নয়; সুতরাং এই কৌশল সেখানে কাজ করবে না ...

একটি প্লাগইন অপসারণ করতে, এটি vimrc ফাইল থেকে সরান এবং চালান:

:PlugClean

নোট করুন যে ভিম-প্লাগ ভিম স্ক্রিপ্টস ওয়েবসাইট থেকে স্ক্রিপ্টগুলি ইনস্টল করতে সমর্থন করে না, তবে সেই স্ক্রিপ্টগুলি গিটহাবটিতে মিরর করা আছে, তাই এটি করার দরকার নেই।

এর আরও কিছু সুবিধা রয়েছে যেমন প্লাগইনকে সহজ আপডেট করা, এবং আরও ভাল পারফরম্যান্সের জন্য অন-চাহিদা লোড করা। আপনি সহজেই অন্য কোনও কম্পিউটারে আপনার ভিএমআরসি অনুলিপি করতে পারেন, চালাতে :PlugInstallপারেন এবং আপনার সমস্ত প্লাগইন রাখতে পারেন।

নোট করুন আরও প্লাগইন পরিচালক রয়েছে; আমি ব্যবহার করতে হবে vim-plug। আরও দেখুন: ভিআইএম প্যাকেজ পরিচালকদের মধ্যে পার্থক্য কী?



"এই স্ক্রিপ্টগুলি গিটহাবে মিরর করা হয়েছে, তাই এটি করার দরকার নেই।" দুর্ভাগ্যক্রমে স্ক্র্যাপারটি অনেক আগে থেকেই কাজ বন্ধ করে দিয়েছে। github.com/vim-scraper/vim-scraper/issues/...
Bluu

@ ব্লু হ্যাঁ, আমি গত বছরের রক্ষণাবেক্ষণকারীর সাথে যোগাযোগ করেছি; কিছু প্রযুক্তিগত বিট রয়েছে যা আপডেট করার প্রয়োজন হয় এবং আপডেট করার জন্য কেউ আসলেই পদক্ষেপ নেয় না: - / যদিও এটি এখনও কিছুটা কার্যকর, যেহেতু অনেকগুলি স্ক্রিপ্টগুলি প্রায়শই আপডেট করা হয় না (বিশেষত গিটহাবের মধ্যে নেই)।
মার্টিন টর্নয়েজ

25

প্যাথোজেন

প্যাথোজেন একটি রানটাইম পাথ ম্যানেজার, যা ভিমের মধ্যে প্লাগইন লোড করে। এটি প্লাগইন ইনস্টলেশন সহজ করে তোলে; এখানে কিভাবে এটা কাজ করে:

দ্রষ্টব্য: আপনি যদি উইন্ডোজ ব্যবহার করছেন তবে এর ~/.vimসাথে প্রতিস্থাপন করুন $HOME\vimfiles

  1. অনুলিপি pathogen.vimকরুন ~/.vim/autoload/pathogen.vim

  2. ~/.vim/bundleডিরেক্টরিটি তৈরি করুন , যদি এটি ইতিমধ্যে বিদ্যমান না থাকে।

  3. আপনার একেবারে শুরুতে নিম্নলিখিত লাইনটি যুক্ত করুন .vimrc:

    execute pathogen#infect()
    
  4. তুমি করেছ! আপনি একটি প্লাগইন যোগ করতে চান, তখন কেবল সমগ্র প্লাগইন এর তালিকা কপি ~/.vim/bundle, অথবা git cloneসেখানে এটি। উদাহরণ স্বরূপ:

    cd ~/.vim/bundle
    git clone https://github.com/tpope/vim-surround
    
  5. * ক্যাভ্যাট: আপনার প্লাগইন যদি কোনও .vimফাইল আকারে আসে তবে এটি প্যাথোজেনের সাথে কাজ করবে না। ~/.vim/pluginপরিবর্তে এটি অনুলিপি করুন (এটি উপস্থিত না থাকলে আপনাকে এই ডিরেক্টরিটি তৈরি করতে হতে পারে)।


5
দ্রষ্টব্য: প্যাথোজেন হয় না একটি প্লাগইন ম্যানেজার।
রোমেনেল

বা git submodule add(এর পরিবর্তে git clone) যদি আপনার ভিআইএম কনফিগারেশনটি ইতিমধ্যে আপনার নিজের গিট প্রকল্পের অংশ।
মার্টিন ইয়র্ক

@ রোমেনল তখন কি?
রড্রিক দ্য রিডার

3
এটি রানটাইমপথ ব্যবস্থাপক। এটিতে runtimepathবিকল্পটি পরিচালনা করে এবং এটিই সমস্ত কিছু। প্লাগিনগুলি আপডেট করা, যুক্ত করা, পুনরুদ্ধার করা, মোটেও মুছে ফেলার সাথে এটি মোকাবিলা করে না।
রোমেনেল

1
এছাড়াও প্যাথোজেন ব্যবহার সম্পর্কে @romainl এর দুর্দান্ত গিস্টটি দেখুন ।
icc97

23

ভিম 8+ / নিওভিম

সংস্করণ 8 নতুন প্যাকেজ প্রক্রিয়াটি প্রবর্তন করে যা প্রচলিত প্লাগইন পরিচালকদের (প্যাথোজেন, ভিম-প্লাগ, ভান্ডেল ইত্যাদি) রচনার সময় (2017) সময়ে প্রয়োজনীয়তার পরিবর্তিত করে।

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

ভিম প্যাকেজ হ'ল একটি ডিরেক্টরি যা এক বা একাধিক প্লাগইন ধারণ করে

একটি প্যাকেজ ডিরেক্টরি দুটি উপ ডিরেক্টরি থাকে:

  • start/ - এতে এমন প্লাগইন রয়েছে যা স্বয়ংক্রিয়ভাবে লোড হবে
  • opt/ - এর সাথে চাহিদা মতো লোড হওয়া প্লাগইন রয়েছে :packadd

এটি কিছুটা জটিল মনে হতে পারে তবে অনুশীলনে আপনাকে যা করতে হবে তা হ'ল এখানে আপনার প্লাগইন যুক্ত করুন :

                 ↓ package name
~/ .vim / pack / bundle / start / some-plugin
          ↑ packages dir          ↑ plugin dir

উইন্ডোজে : এর ~\vimfiles\pack\পরিবর্তে ব্যবহার করুন~/.vim/pack/

কনভেনশন দ্বারা, আমরা "বান্ডেল" প্যাকেজটির নামটি ডিরেক্টরি হিসাবে ব্যবহার করেছি যাতে আমাদের সমস্ত প্লাগইন থাকবে। আপনি যে কোনও নাম ব্যবহার করতে পারেন এবং আপনি যদি সত্যিই চান তবে আপনার প্লাগইনগুলি পৃথক প্যাকেজ ডিরেক্টরিতেও রাখতে পারেন।

উদাহরণ: ইনস্টল করার প্রক্রিয়া sensible.vim

mkdir -p ~/.vim/pack/bundle/start
cd ~/.vim/pack/bundle/start
git clone https://github.com/tpope/vim-sensible.git

উইন্ডোজে : এর ~\vimfiles\pack\পরিবর্তে ব্যবহার করুন~/.vim/pack/

পরের বার আপনি ভিম শুরু করবেন, প্লাগইনটি স্বয়ংক্রিয়ভাবে লোড হবে।


3
যদি কারও .vimসংস্করণ নিয়ন্ত্রণে থাকে তবে গিটের সাবমডিউলগুলি সহ প্লাগইন ইনস্টল করা আরও ভাল be দেখতে shapeshed.com/vim-packages/#adding-a-package
আর্চ স্ট্যান্টন

যদি সময়-ভিত্তিক উত্তর থাকে, তবে এটি হ'ল বর্তমান হিসাবে গৃহীত উত্তর।
আমিন ন্যারি

12

আসুন আমরা দুর্দান্ত এবং শক্তিশালী ভান্ডেলকে ভুলি না !

ভন্ডল একটি সম্পূর্ণ প্লাগইন পরিচালক, এর জন্য কার্যকারিতা সহ:

  • প্লাগইন অনুসন্ধান করা (ব্যবহার করে :PluginSearch)
  • প্লাগইন ইনস্টল করা (ব্যবহার করে :PluginInstall)
  • প্লাগইন আপডেট করা হচ্ছে (ব্যবহার করে :PluginUpdate)
  • .Vimrc এ প্লাগইন লোড পাথ পরিচালনা করা (আপনি যে প্লাগইন এন্ট্রিগুলি বোঝাতে চান না তা কেবল মন্তব্য করুন)
  • আপনি আর চান না এমন প্লাগইনগুলি সরানো (ব্যবহার করা :PluginClean)

আপনি দেখতে পাচ্ছেন, এটি অনেকটা কার্পেটস্মোকারের দ্বারা উল্লিখিত ভিএম-প্লাগ ম্যানেজারের মতো। কোনটি প্রথম এসেছিল আমি জানি না, তবে তাদের এপিআইগুলি আমার সাথে অনেকটা সাদৃশ্যপূর্ণ, সেটআপ প্রক্রিয়াটির মতোই ।


ভান্ডল সম্পর্কে দুর্দান্ত জিনিসটি ভিআইএম-প্লাগের মতো যা আপনার নিজের প্লাগইনগুলিতে সংরক্ষণ করতে পারেন .vimrc, সুতরাং নতুন সার্ভারে ইনস্টল করার সময় আপনার যা দরকার তা হ'ল ভান্ডেল ইনস্টলেশন + আপনার .vimrcসবকিছু ইনস্টল করা। এছাড়াও আপনি আপনার প্লাগিনগুলি মন্তব্য করতে পারেন এবং সেগুলি 'পরিষ্কার' করতে পারেন, তবে আপনি যখন তাদের নাম ভুলে গেছেন তখন কয়েক মাস বা বছর পরে আবার মন্তব্য করতে সক্ষম হবেন।
icc97

প্লাস আমি ভন্ডল পছন্দ করি কারণ এটি তুলনামূলকভাবে প্রাথমিক বন্ধুত্বপূর্ণ। এটি জিনিসগুলি করার একমাত্র এক উপায় প্রদান করে এবং সাব্লাইম পাঠ্যে একইভাবে কাজ করে।
icc97

1

সম্ভবত, আপনার প্লাগইনটি একক .vim ফাইল হবে।

যদি এটি হয় তবে আমি সাহায্যটি অনুসন্ধান করে নিচের পরীক্ষা করে নিলাম fig ভিআইএম (কমান্ড মোড) এর মধ্যে থেকে টাইপ করুন:

:set runtimepath

এটি আপনাকে ডিরেক্টরিগুলির একটি সিরিজ প্রদর্শন করবে। এর মধ্যে কয়েকটি ডিরেক্টরিতে একটি pluginউপ- ডিরেক্টরি থাকবে । এই pluginসাব-ডিরেক্টরিতে যে কোনও একটিতে .vim ফাইল স্থাপন করা আপনি যে কোনও জায়গা থেকে ভিএম শুরু করলে এটি স্বয়ংক্রিয়ভাবে লোড হয়ে যাবে।

আমার জন্য উবুন্টু লিনাক্সে, আমি খুঁজে পেয়েছি যে /usr/share/vim/vim74/pluginসমস্ত ব্যবহারকারীর জন্য ইনস্টল করার জন্য এটি ভাল কাজ করেছে। (আপনার পূর্বে ভী এখানে করার জন্য একটি ফাইল কপি করতে রুট অনুমতি নিতে হতে পারে cpবা mvকমান্ড sudo)।


3
আইএমএইচও এটি সর্বোত্তম অনুশীলন নয়। মনে রাখবেন যে আপনার কাছে vim74, যার অর্থ এটি সংস্করণ নির্দিষ্ট, সুতরাং Vim 8.0 এ আপগ্রেড করা সেই প্লাগইনটি শিথিল করবে। আরও আপগ্রেড-প্রুফ /etc/vim/runtimepath/etc/vimrc
উপায়টি এর

3
@ গ্রডজিক মন্তব্যে যোগ করতে: Most likely, your plugin will be a single .vim fileআমি দ্বিমত পোষণ করছি। প্লাগইনগুলির একটি বিশাল অংশটি .txtডকুমেন্টযুক্ত একটি ফাইল নিয়ে আসে এবং একটি কার্যকরী ডক পেতে আপনাকে ট্যাগগুলি তৈরি করতে হবে। এছাড়াও একটি autoloadডিরেক্টরি সহ প্রচুর প্লাগইন আসে । আমি মনে করি যে প্লাগইন ম্যানেজার ব্যবহার করা আপনার রানটাইমপথটি ম্যানুয়ালি পরিচালনার চেয়ে আরও ভাল সমাধান
স্টাটক্স

-1 /usr/share/vim/vimXXহ'ল স্টক রানটাইম এবং এটি সাইটের কনফিগারেশন / প্লাগইনগুলির স্থান নয়। পরিবর্তে, সাইট কনফিগারেশন / প্লাগইনগুলি $VIMসেই সিস্টেমে পয়েন্টগুলি যেখানেই স্থাপন করা উচিত (দেখুন :h vimfiles)। সাধারণত, এটি হ'ল /usr/share/vimউবুন্টুর ক্ষেত্রে এটি সিমনলিকগুলি ধারণ করে /etc/vim। সাধারণভাবে, প্যাকেজ পরিচালকের বাইরে/usr/local/ সাইট কনফিগারেশনের জন্য ডি-ফ্যাক্টো জায়গা । মনে রাখবেন যে নিওভিম সাইট কনফিগারেশনের জন্য -র -বাক্সের ডিফল্টগুলি প্রদান করে, ডিরেক্টরি এবং ডিরেক্টরি ব্যবহার করে । $XDG_(CONFIG|DATA)_DIRSsite
জিরো নাইট

1

Vire, প্লাগ-ইন ইনস্টল করতে সর্বশেষ প্যাক বিন্যাস লিভারেজ এবং VIM এবং Neovim সমর্থন করে। আপনার কিছু জানা নেই যে কোথায় যায়। কেবল একটি vimrc সরবরাহ করুন এবং ভাইরা বাকী যত্ন নেবে।

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