لینوکس

نحوه استفاده از Vundle برای مدیریت افزونه های Vim در VPS لینوکس

مقدمه
ویرایشگر متن vim ابزاری متنوع و بسیار قدرتمند برای دستکاری متن ساده ، مدیریت فایل های پیکربندی سیستم و ایجاد کد است. در حالی که تمرکز طراحی ویرایش نوعی و قواعد عالی خود ویرایشگر مورد پسند کاربرانش قرار گرفته است ، رابط کاربری و عملکرد آن گاهی فاقد جذابیت هایی است که برخی از کاربران دوست دارند.
خوشبختانه ، vim شامل سیستم افزونه یا اسکریپتی است که می تواند برای گسترش ویرایشگر به روش های مختلفی استفاده شود. در واقع به عنوان فایلهای پیکربندی ساده ای اجرا می شوند که طبق عملکردشان در زیر مجموعه های دایرکتوری ~ .vim ذخیره می شوند. با اضافه کردن افزونه های بیشتر ، ممکن است کمی درهم ریختگی ایجاد شود و جدا نگه داشتن این افزونه ها و مدیریت موثر آنها دشوار باشد.
به همین دلیل ، تعداد کمی پلاگین منیجر برای vim ساخته شده اند تا به ساده تر شدن این کار کمک کنند. مدیر افزونه ای که در این راهنما با عنوان vundle از آن صحبت خواهیم کرد ، برای مرتب سازی همه این قسمت ها بسیار مفید است.
ما در مورد چگونگی استفاده از vundle رویVPS Ubuntu 12.04 تمرکز خواهیم کرد. با این حال ، اکثر توزیع ها می توانند بدون کار اضافی از این دستورالعمل ها استفاده کنند.
نرم افزار کاربردی را نصب کنید
قبل از اینکه بتوانیم نحوه استفاده از vundle را برای مدیریت افزونه های vim شروع کنیم ، باید تمام اجزای لازم را نصب کنیم.
ابتدا باید شاخص پکیج محلی خود را بروزرسانی کنیم و سپس باید اطمینان حاصل کنیم که vim نصب شده است (که مفید خواهد بود!) و این git برای دستیابی به مؤلفه های بیشتر موجود است:
sudo apt-get update
sudo apt-get install vim git

اکنون که ما vim و git را نصب کرده ایم (احتمالاً اگر در حال خواندن این مقاله هستید vim را نصب کرده اید) ، قبل از نصب vundle وقفه ای خواهیم داشت تا درمورد نحوه کار پلاگین ها به طور سنتی و چگونگی کار vundle برای مدیریت آنها صحبت کنیم.
Vundle چگونه کار می کند؟
به طور معمول،vim به صورت مبتنی بر کاربر در دیرکتوری هوم هر کاربر پیکربندی می شود ، با پیش فرض های قبلی که توسط ادمین سیستم و در نهایت خود نرم افزار تنظیم شده است. این تنظیمات شخصی در یک فایل مخفی به نام ~ / .vimrc ذخیره می شوند.

افزونه ها و فایل های پیکربندی اضافی که عملکردی را اضافه می کنند ، معمولاً در ~ / .vim به یک فهرست پنهان اضافه می شوند. در داخل ، بیشتر افزونه ها بر اساس عملکردی که ارائه می دهند ، به زیر شاخه ها سازماندهی می شوند. اینها می توانند مواردی مانند autoload ، plugin ، colors و غیره باشند.
بنابراین اگر از سیستم افزونه داخلیvim استفاده می کنید ، ممکن است دیرکتوری هوم شما کمی شبیه به این باشد:
ls -AR ~
/home/demouser:
.bash_history .bash_logout .bashrc .profile .vim .vimrc

/home/demouser/.vim:
autoload bitmaps colors doc plugin syntax

/home/demouser/.vim/autoload:
plugin1.vim plugin2.vim

/home/demouser/.vim/bitmaps:
plugin1.png

/home/demouser/.vim/colors:
plugin2.vim

/home/demouser/.vim/doc:
plugin1.txt plugin2.txt

/home/demouser/.vim/plugin:
plugin1.vim

/home/demouser/.vim/syntax:
plugin1.vim

ابزار vundle در واقع بر روی یک منیجر افزونه متفاوت به نام pathogen ساخته شده است و یک عملکرد فوق العاده را فراهم می کند. منیجر pathogen مدیریت پلاگین را با ایجاد یک شاخه دیرکتوری جداگانه پلاگین برای هر افزونه مجزا ساده سازی می کند.
این بدان معنی است که به جای اینکه هر افزونه فایل های مختلفی را به فهرست های مختلف بفرستد ، آنها را با سایر افزونه ها مخلوط کند ، در عوض هر افزونه ساختار دیرکتوری مورد نیاز را درون یک زیرشاخه خاص برای افزونه ایجاد می کند.
اینها در زیر مجموعه ای به نام bundle نگهداری می شوند. در عوض ساختار دایرکتوری شما چیزی شبیه به این است:
ls -AR ~
justin@vundle:~$ ls -AR ~
/home/justin:
.bash_history .bash_logout .bashrc .profile .vim .vimrc

/home/justin/.vim:
autoload bundle

/home/justin/.vim/autoload:
plugin1.vim plugin2.vim

/home/justin/.vim/bundle:
plugin1 plugin2

/home/justin/.vim/bundle/plugin1:
autoload bitmaps doc plugin syntax

/home/justin/.vim/bundle/plugin1/autoload:
plugin1.vim

/home/justin/.vim/bundle/plugin1/bitmaps:
plugin1.png

. . .
این یک سیستم لانه سازی عمیق تر ایجاد می کند ، اما به ما امکان می دهد پلاگین های خود را به عنوان یک واحد به راحتی مدیریت کنیم. اگر دیگر نخواهیم از “افزونه 1” استفاده کنیم ، می توانیم چنین کاری انجام دهیم:
rm -rf ~/.vim/bundle/plugin1

این برنامه طرح مدیریت ما را بسیار ساده می کند. و اساساً همان چیزی است که pathogen انجام می دهد.
کاری که vundle انجام میدهد اضافه کردن یک رابط مدیریتی در داخل vim است که به شما امکان می دهد افزونه های بیشتری را بدست آورید ، افزونه ها را به روزرسانی کنید و غیره. این برنامه بخش “مدیریت” را به آنچه که برخی از افراد پیشرفت های سازمانی پاتوژن می نامند، اضافه می کند.
شروع خوبی داشته باشید و vundle را نصب کنید
اکنون که کمی در مورد چگونگی عملکرد سیستم vundle می دانید ، می توانیم شروع به کار کنیم.
ابتدا اگر فایل ~ / .vimrc و دایرکتوری ~ / .vim را دارید ، می خواهیم از آنها نسخه پشتیبان تهیه کرده و از نو شروع کنیم. این به ما كمك می كند تا ناسازگاری ها و مشکلات بالقوه را به حداقل برسانیم:
ا if [ -e .vimrc ]; then mv .vimrc .vimrc_bak; fi
if [ -e .vim ]; then mv .vim .vim_bak; fi

پس از آن ، می توانیم افزونه vundle را مستقیماً از GitHub شبیه سازی کنیم ، که برخی از ساختار فهرست ~ / .vim ما را بازآفرینی می کند:
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

در مرحله بعد ، ما باید فایل ~ / .vimrc را برای استفاده مجدد از سیستم جدید مدیریت پکیج خود مجدداً به vim  اطلاع د هیم.

vim ~/.vimrc

در داخل ، برای شروع کار به چند مورد نیاز داریم. اول ، باید مطمئن شویم که vim در تلاش نیست تا سازگاری با vi ، یعنی نسخه پیشین خود را حفظ کند. این شرطی برای vundle  است. وقتی vim تلاش می کند سازگار باشد ، بسیاری از ویژگی هایی که ارزش استفاده از آن نسبت به vi را دارد غیرفعال می کند.
ما همچنین می خواهیم کنترل های پیش فرض “filetype” را فعلاً غیرفعال کنیم زیرا روشی که vim قوانین filetype را در زمان اجرا مخفی میکند با شیوه ای که vundle محیط زمان اجرا را تغییر میدهد ، تداخل دارد. بعداً این مسئله را تغییر خواهیم داد:
set nocompatible
filetype off

در مرحله بعد ، ما باید مسیر زمان اجرای vim را تنظیم کنیم تا مکان vundle را که از GitHub کلون کرده ایم ، شامل شویم. پس از آن ، ما تابع اولیه vundle را فرا میخوانیم:
set nocompatible
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()

اکنون ، سیستم vundle ما آغاز به کار کرده است و می توانیم افزونه هایی را که می خواهیم مدیریت کنیم اضافه کنیم. در حالی که vundle می تواند افزونه های محلی را مدیریت کند ، یکی از نقاط قوت آن امکان پیوند زدن نسخه های محلی به نسخه های آنلاین است که به شما امکان می دهد بروزرسانی خودکار را انجام دهید و غیره.
ما می توانیم این کار را با اشاره به مخازن GitHub ، اسکریپت های vim ، سایر مخازن از راه دور git و مخازن محلی git انجام دهیم.
اول از همه ، باید خود پکیج vundle را با vundle مدیریت کنیم. سپس می توانیم افزونه های اضافی را که دوست داریم اضافه کنیم:
set nocompatible
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()

” This is the Vundle package, which can be found on GitHub.
” For GitHub repos, you specify plugins using the
” ‘user/repository’ format
Plugin ‘gmarik/vundle’

” We could also add repositories with a “.git” extension
Plugin ‘scrooloose/nerdtree.git’

” To get plugins from Vim Scripts, you can reference the plugin
” by name as it appears on the site
Plugin ‘Buffergator’

” Now we can turn our filetype functionality back on
filetype plugin indent on

توجه کنید که در پایان ، ما عملکرد “filetype” را که قبلاً فعال کرده بودیم ، دوباره برقرار می کنیم. همه افزونه ها باید بین خط vundle # rc () و filetype plugin indent on اعلام شوند.
بعد از این بخش از ~ / .vimrc ، می توانیم تنظیمات اضافی vim مورد نیاز خود را اضافه کنیم.
پس از اتمام ، فایل ( “:wq” or “ZZ”) را ذخیره کرده و ببندید .
افزونه ها را با Vundle نصب و به روز کنید
حالا ما فقط باید بهvundle اطلاع دهیم که تمام افزونه هایی که به فایل اضافه کردیم را نصب کند. Vim را شروع کنید:
Vim
اکنون دستور: PluginInstall را صادر کنید:
:PluginInstall

با این کار یک پنجره جدید در vim باز می شود و با نصب هر یک از افزونه های جدید اجرا می شود. پس از اتمام ، می توانید با تایپ کردن بافر و ویندوی جدید :
: bdelete
افزونه هایی که به فایل ~ / .vimrc خود اضافه کرده اید ، اکنون نصب شده اند!
اگر می خواهید افزونه های خود را به روز کنید، می توانید یکی از این دو دستور را استفاده کنید:
:PluginUpdate
یا
:PluginInstall!

“!” در انتهای فرمان :PluginInstall! اساساً به vundle می گوید که تمام افزونه ها را دوباره نصب کند (نیاز به هرگونه فعالیتی را بررسی می کند)، که جدیدترین نسخه ها را دریافت می کند.
بعد از بروزرسانی ، با تایپ کردن “u” در پنجره افزونه vundle می توانید ببینید که چه پلاگین هایی تحت تأثیر قرار گرفتند. اگر می خواهید یک گزارش کامل از عملکردهای انجام شده در هنگام بروزرسانی یا نصب را مشاهده کنید، برای مشاهده گزارش کامل ، “l” را تایپ کنید.
مدیریت افزونه ها با Vundle
اکنون که چگونگی نصب افزونه ها را فرا گرفته اید ، به عملکردهای دیگر vundle که می تواند به شما کمک کند، میپردازیم.
به دست آوردن پلاگین های جدید
یکی از کارکردهای مفید vundle امکان یافتن و نصب افزونه های بیشتر است.
ما می توانیم هر افزونه ای که vundle می تواند در سایت Vim Scriptts پیدا کند را با تایپ کردن دستورات زیر لیست کنیم:
:Plugins
یا
:PluginSearch!

“!” در پایان فرمان ، لیست محلی را از سایت Vim Scriptts ریفرش می کند.
اگر بخواهیم یک افزونه خاص را جستجو کنیم ، می توانیم از همین ترکیب مشابه زیر استفاده کنیم:
:PluginSearch! plugin_query

با این کار یک پنجره جدید طبق نتایج جستجوی ما باز می شود. اگر اخیراً دیتابیس محلی را ریفرش کرده اید ، می توانید “!” را از دستور خارج کنید. بنابراین اگر “markdown” را جستجو می کنید ، ممکن است چیزی شبیه به این را بدست آورید:
PluginSearch markdown
“Keymap: i – Install plugin; c – Cleanup; s – Search; R – Reload list
“Search results for: markdown
Plugin ‘instant-markdown.vim’
Plugin ‘MarkdownFootnotes’
Plugin ‘Markdown’
Plugin ‘Markdown-syntax’

همانطور که در بالا مشاهده می کنید ، با حرکت به سمت خط دارای افزونه و تایپ کردن “i” می توانید به راحتی هر یک از افزونه ها را نصب کنید.
با این کار افزونه بارگیری و نصب خواهد شد ، اما make / .vimrc شما را به روز نمی کند تا به طور صحیح و به صورت خودکار لود شود.
بنابراین ، برای نصب افزونه “MarkdownFootnotes” ، مکان نما را به سمت آن خط فشار می دهیم: ”
“Keymap: i – Install plugin; c – Cleanup; s – Search; R – Reload list
“Search results for: markdown
Plugin ‘instant-markdown.vim’
Plugin ‘MarkdownFootnotes’ # move here and press “i”
Plugin ‘Markdown’
Plugin ‘Markdown-syntax’

پس از اتمام نصب می توانید بافر vundle را پاک کنید:

:bdelete

پس از آن ، typ / .vimrc خود را با تایپ کردن دستور زیر ویرایش کنید:
:e ~/.vimrc
خط افزونه جدید را اضافه کنید:
set nocompatible
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()

Plugin ‘gmarik/vundle’

Plugin ‘scrooloose/nerdtree.git’

Plugin ‘Buffergator’

Plugin ‘MarkdownFootnotes’

filetype plugin indent on

می توانید در این مرحله فایل را ذخیره کنید و ببندید.
افزونه های نصب شده را مدیریت کنید
پس از نصب برخی از افزونه ها ، می توانید آنها را با استفاده از vundle مدیریت کنید.
برای دیدن همه افزونه های نصب شده خود ، این را تایپ کنید:
:PluginList
” My Plugins
Plugin ‘gmarik/vundle’
Plugin ‘scrooloose/nerdtree.git’
Plugin ‘Buffergator’
Plugin ‘MarkdownFootnotes’

اگر نیاز به حذف یک افزونه دارید ، این کار باید در دو مرحله انجام شود.
می توانید فایل های افزونه را با لیست کردن آنها حذف کرده و سپس هنگامی که مکان نما روی افزونه ای است که می خواهید حذف شود ، کلید “D” را بزنید. بنابراین برای حذف افزونه “MarkdownFootnotes” ، می توانیم آن را انتخاب کرده و “D” را بزنیم:
” My Plugins
Plugin ‘gmarik/vundle’
Plugin ‘scrooloose/nerdtree.git’
Plugin ‘Buffergator’
Plugin ‘MarkdownFootnotes’ # Press “D” when selected

در این مرحله ،vundle هنوز این افزونه را در پیکربندی خود دارد ، اما فایل های این افزونه نصب نشده اند. با تایپ دوباره می توانید دوباره فایل ها را نصب کنید:
:PluginInstall
هرچند ما این کار را انجام نمی دهیم، در عوض ورودی را از فایل ~ / .vimrc خود حذف خواهیم کرد:
:e ~/.vimrc
set nocompatible
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()

Plugin ‘gmarik/vundle’

Plugin ‘scrooloose/nerdtree.git’

Plugin ‘Buffergator’

filetype plugin indent on

این کار حذف افزونه از سیستم شما را کامل می کند.
اما روش ساده تر این کار این است که ابتدا آن را از فایل ~ / .vimrc حذف کنید.
پس از حذف آن ، می توانید این فرمان را فرا بخوانید ، که تمام افزونه هایی را که در فایل ~ / .vimrc شما نیستند را به طور خودکار حذف می کند (از شما می خواهد تا تأیید کنید):
:PluginClean

” Removing Plugins:
Plugin ‘MarkdownFootnotes’

. . .
Continue? [Y/n]:
برای حذف همه افزونه های بدون ارجاع می توانید “Y” تایپ کنید.
نتیجه
تا این مرحله باید بتوانید افزونه های خود را به راحتی از طریق رابط کاربری vundle مدیریت کنید. مزایای داشتن یک مدیر افزونه خوب برای vim ممکن است در نگاه اول آشکار نباشد ، خصوصاً اگر از بسیاری از افزونه ها استفاده نمی کنید.
با این حال ، یکی از بزرگترین مزایایی که این امر به شما می دهد ، امکان آزمایش آسان پلاگین های جدید است. هنگامی که این روند سرراست و ساده است ، به احتمال زیاد پلاگین های مختلفی را جستجو می کنید و سعی می کنید عملکرد را یکپارچه کنید ، در غیر این صورت ممکن است دچار مشکل شوید و کارها را با روشی پیچیده تر انجام دهید.

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

چگونه می توان با کتابخانه (library) درخواست ها در پایتون شروع به کار کرد

نحوه اجرای صفحه گذاری در MySQL با PHP روی اوبونتو 18.04

نحوه تنظیم پلتفرم Eclipse Theia Cloud IDE در CentOS 7

بسته بندی برنامه Laravel 6 برای توسعه با Docker Compose در اوبونتو 18.04

نحوه بهینه سازی درخواست های MySQL با ذخیره سازی ProxySQL در اوبونتو 16.04

نحوه استفاده از Ansible برای نصب و راه اندازی وردپرس با LAMP در اوبونتو 18.04

چگونه می توان پلتفرم كد سرور Cloud IDE را در اوبونتو 18.04 تنظیم كرد (شروع سریع)

چگونه می توان از رول های ansible برای انتزاع محیط زیرساختی خود استفاده کرد

نحوه پیکربندی یک خوشه Galera با MySQL در سرورهای اوبونتو 18.04

نحوه تهیه نسخه پشتیبان و بازیابی یک خوشه Kubernetes در vpsgol با استفاده از Velero

نحوه نصب و استفاده از PostgreSQL در CentOS 7

چگونه می توان پلتفرم Eclipse Theia Cloud IDE را روی اوبونتو 18.4 تنظیم کرد

نحوه استقرار و مدیریت DNS با استفاده از DNSControl در Debian 10

چگونه می توان پلتفرم Cloud IDE کد سرور را روی CentOS 7 تنظیم كرد

نحوه نصب Apache Kafka در Debian 10

نحوه نصب وردپرس با OpenLiteSpeed ​​در اوبونتو 18.04

چگونه پیکربندی SSH Daemon خود را بر روی یک VPS لینوکس تنظیم کنید

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا – خرید سرور مجازی


https://vpsgol.net/product/vps-germany/

https://vpsgol.net/product/vps-usa/

https://vpsgol.net/product/vps-france/

https://vpsgol.net/product/vps-canada/

https://vpsgol.net/product/vps-poland/

https://vpsgol.net/product/vps-netherlands/

https://vpsgol.net/product/vps-england/