نحوه استفاده از ویرایشگر متن Vim در لینوکس #
ویم (Vim) که با نام Vi IMproved نیز شناخته میشود ، یک ویرایشگر متن متنباز و چندسکویی است که ویرایشگر اصلی Vi را با ویژگیهای پیشرفتهای گسترش میدهد. این ویرایشگر از ویرایش modal پشتیبانی میکند و امکان پیمایش و اصلاح متن کارآمد را با استفاده از دستورات فراهم میکند. ویم (Vim) معمولاً برای ویرایش فایلهای پیکربندی، نوشتن کد و مدیریت اسکریپتها در لینوکس استفاده میشود و در عین حال ویژگیهای undo چند سطحی، هایلایت کردن سینتکس، ویرایش خط فرمان و انتخاب بصری را نیز ارائه میدهد.
این مقاله نحوه استفاده از ویرایشگر متن Vim در لینوکس را برای ایجاد، مدیریت و تغییر فایلها در ایستگاه کاری لینوکس شما توضیح میدهد.
پیش نیازها #
قبل از شروع، شما نیاز دارید:
- یک سرور مجازی لینوکس
حالتهای Vim و دستورات پایه #
حالتهای موجود Vim و توابع خاص آن را برای استفاده کارآمد از ویرایشگر متن بررسی کنید. هر حالت امکان اجرای وظایف خاصی مانند پیمایش، ویرایش متن، انتخاب و اجرای دستور را فراهم میکند. حالتهای موجود در Vim شامل موارد زیر است.
- حالت عادی :Vim در حالت عادی (Normal mode) اجرا میشود، جایی که میتوانید دستورات را پیمایش، حذف، کپی و اجرا کنید. Escبرای بازگشت به حالت عادی از هر حالت دیگری، فشار دهید.
دستورات زیر در حالت عادی:
h،j،k،l: مکاننما را به چپ، پایین، بالا و راست حرکت دهید.dd: خط فعلی را حذف میکند.yy: خط فعلی را کپی میکند.p: یک خط کپی شده را جایگذاری کنید.u: آخرین تغییر را لغو میکند.Ctrl + r: آخرین تغییر لغو شده را دوباره انجام میدهد.gg: پرش به ابتدای فایل.G: پرش به انتهای فایل.
- حالت درج :برای وارد کردن و ویرایش فایلها در Vim از حالت درج (Insert mode) استفاده کنید. میتوانید با استفاده از هر یک از دستورات زیر از حالت عادی به حالت درج (insert mode) بروید.
i: متن را قبل از مکان نما وارد کنید.a: متن را بعد از مکان نما اضافه کنید.o: یک خط جدید زیر مکان نما وارد کنید.O: یک خط جدید بالای مکان نما وارد کنید.
- حالت بصری :از حالت ویژوال برای انتخاب و دستکاری متن در Vim استفاده کنید. این حالت را از حالت عادی با استفاده از هر یک از دستورات زیر فعال کنید.
v: انتخاب بر اساس شخصیت را شروع کنید.V: انتخاب خطی را شروع کنید.Ctrl + v: انتخاب بلوکی را شروع کنید.
در زیر دستورات موجود که میتوانید در حالت بصری اجرا کنید، آمده است:
h،j،kیاlکلیدهای جهتنما ( Left، Right، Up، Down): به شما امکان میدهند مکاننما را حرکت داده و انتخاب را تنظیم کنید.d: متن انتخاب شده را حذف کنید.y: متن انتخاب شده را کپی کنید.x: متن انتخاب شده را برش دهید.p: متن را روی ناحیه انتخاب شده بچسبانید.>: انتخاب را تورفتگی میدهد.<: انتخاب را بدون تورفتگی انجام دهید.
- حالت خط فرمان :از حالت خط فرمان برای کارهای مدیریتی مانند ذخیره، خروج و پیکربندی Vim استفاده کنید.
:برای ورود به حالت خط فرمان از حالت عادی، Enter را بزنید.شما میتوانید دستورات زیر را در حالت خط فرمان اجرا کنید:
w: فایل را ذخیره کنید.q: از ویم خارج شو.wq: ذخیره و خروج.q!: بدون ذخیره کردن، خارج میشود.set number: نمایش شماره خطوط.set nonumber: شماره خطوط را مخفی کنید./: جستجوی کلمات کلیدی در یک فایل. به عنوان مثال،/wordجستجو برایwordدر فایل.
ایجاد فایلها با استفاده از Vim #
شما میتوانید با مشخص کردن نام فایل هنگام باز کردن ویرایشگر متن، با استفاده از Vim فایل ایجاد کنید. برای ایجاد فایلها با استفاده از ویرایشگر متن Vim، مراحل زیر را دنبال کنید.
- با استفاده از دستور زیر، فایلها را در Vim ایجاد کنید.console
$ vim FILENAMEvimExampleبرای مثال، برای ایجاد یک فایل جدید، دستور زیر را اجرا کنید .console$ vim vimExampleدستور بالا یک ویرایشگر متن خالی ایجاد میکند که میتوانید از آن برای اضافه کردن محتوای خود و ذخیره فایل برای ایجاد آن استفاده کنید.

Escبرای خروج از حالت درج، کلید Enter را فشار دهید ، سپس
:wqبرای ذخیره و بستن ویرایشگر متن Vim، کلید Enter را فشار دهید.
باز کردن فایلها با استفاده از Vim #
شما میتوانید از Vim برای باز کردن و مدیریت کارآمد یک یا چند فایل استفاده کنید. برای باز کردن فایلها با استفاده از Vim و پیمایش بین چندین فایل باز، مراحل زیر را دنبال کنید.
- با مشخص کردن نام فایل بعد از
vimدستور، یک فایل را با استفاده از Vim باز کنید. برای مثال، دستور زیر را برای باز کردن اجرا کنیدexistingfile.console$ vim existingFileدستور بالا باز میشود
existingFileو به شما امکان ویرایش و تغییر فایل را میدهد.
اگر فایل وجود نداشته باشد، Vim یک بافر خالی باز میکند و به شما امکان میدهد فایل را ایجاد کنید.
- با مشخص کردن نام فایلها، چندین فایل را با استفاده از Vim باز کنید. به عنوان مثال، دستور زیر را برای باز کردن
file1وfile2استفاده از Vim اجرا کنید.console$ vim file1 file2دستور بالا باز میشود
file1وfile2در بافرهای جداگانه قرار میگیرد.
با استفاده از دستورات زیر، بین فایلهای باز در Vim جابهجا شوید:
:nیا:next: به فایل بعدی منتقل میشود.:prevیا:previous: به فایل قبلی برمیگردد.
ویرایش فایلها با استفاده از Vim #
Vim روشهای متعددی برای ویرایش متن، لغو تغییرات و ذخیره فایلها ارائه میدهد. میتوانید با استفاده از حالت درج (Insert mode)، متن را اضافه یا تغییر دهید، ویرایشها را با دستورات لغو (undo) و انجام مجدد (redo) برگردانید و فایلها را ذخیره کنید. این بخش نحوه ویرایش یک فایل با استفاده از Vim را توضیح میدهد.
اضافه کردن متن به فایل #
برای افزودن متن به فایل خود، باید وارد حالت درج (Insert mode) شوید، جایی که میتوانید شروع به تایپ کنید. این بخش شما را در این فرآیند راهنمایی میکند.
- فایل را برای ویرایش باز کنید.console
$ vim filename iبرای ورود به حالت درج و شروع به تایپ محتوای جدید، فشار دهید .Escبرای بازگشت به حالت عادی، فشار دهید .
لغو و انجام مجدد تغییرات #
این بخش به شما نشان میدهد که چگونه با استفاده از Vim به سرعت تغییرات اخیر در فایل خود را به حالت اولیه برگردانید. میتوانید تغییرات را لغو یا دوباره انجام دهید تا به راحتی اشتباهات را اصلاح کنید و از نتیجه مطلوب اطمینان حاصل کنید.
- برای لغو آخرین تغییر،
uدر Normal mode فشار دهید . ctrl + rبرای انجام مجدد آخرین تغییر لغو شده، فشار دهید .
ذخیره فایلها با استفاده از Vim #
این بخش نحوه ذخیره تغییرات شما، از جمله نحوه مدیریت فایلهایی که نیاز به مجوزهای بالا دارند را توضیح میدهد.
:wبرای ذخیره فایل، در حالت خط فرمان وارد شوید .:w
- برای ذخیره فایل با دسترسی root، دستور زیر را اجرا کنید.
:w !sudo tee %
این دستور فایل را ذخیره میکند. برای خروج،
:qدر حالت عادی و به دنبال آن را فشار دهیدEnter.
پیدا کردن و جایگزینی متن با استفاده از Vim #
ویم روشهای کارآمدی برای جستجو و جایگزینی متن در یک فایل ارائه میدهد. این بخش نحوه یافتن سریع الگوهای متنی خاص و جایگزینی آنها در صورت نیاز را توضیح میدهد.
متن را پیدا کنید #
در این بخش، نحوه جستجوی الگوهای متنی خاص در یک فایل را خواهید آموخت. این به شما امکان میدهد تا به سرعت اطلاعات مورد نیاز خود را پیدا کنید.
- برای جستجوی یک الگوی متنی خاص، دستور زیر را در حالت خط فرمان وارد کنید و به جای pattern، متنی را که میخواهید پیدا کنید، قرار دهید.
:/pattern - برای هایلایت کردن تمام موارد تکرار یک الگو، دستور زیر را در حالت خط فرمان وارد کنید.
:set hlsearch - برای حذف هایلایت، از دستور زیر در حالت خط فرمان استفاده کنید.
:nohlsearch
متن جایگزین #
در این بخش، نحوه جایگزینی متن خاص در یک فایل را خواهید آموخت. این ویژگی به شما کمک میکند تا به طور موثر تغییرات لازم را انجام دهید.
- برای جایگزینی متن خاص با متن دیگر، دستور زیر را در حالت خط فرمان تایپ کنید.
:%s/old/new/gدر دستور بالا،
oldمتن مورد نظر خود وnewجایگزین آن را جایگزین کنید و ازgپرچم برای جایگزینی تمام موارد موجود در فایل استفاده کنید.
- برای جایگزینی متن فقط در یک محدوده خاص از خطوط، شماره خطوط را قبل از
sدستور مشخص کنید.:۶,8s/old/new/gدستور بالا
oldباnewخطوط ۶ تا ۸ جایگزین خواهد شد. - برای نمایش شماره خطوط، از دستور استفاده کنید.
:set number
- برای تأیید قبل از جایگزینی هر مورد، از
cگزینه استفاده کنید.:%s/old/new/gc
این از شما میخواهد که هر جایگزینی را تأیید کنید (
yبرای جایگزینی هر مورد،aبرای جایگزینی همه،nبرای صرف نظر کردن).
برش، کپی و چسباندن متن با استفاده از Vim #
در این بخش، یاد خواهید گرفت که چگونه متن را در Vim به طور موثر برش، کپی و جایگذاری کنید. این اقدامات به شما امکان میدهد متن خود را به سرعت و با دقت دستکاری کنید.
برش متن #
برای برش متن در Vim، این مراحل را دنبال کنید:
- با فشار دادن، وارد حالت بصری شوید
v. - انتخاب را با استفاده از کلیدهای جهتنما (
←،→،↑،↓) یاh،j،k، تنظیم کنیدl.dبرای برش متن انتخاب شده، فشار دهید. - برای برش یک خط،
ddدر حالت عادی فشار دهید. - برای برش چندین خط،
dابتدا کلید و سپس دستور جابجاییnj(کهnتعداد خطوط را نشان میدهد) را فشار دهید. برای مثال،3jخط مکاننما و دو خط بعدی را برش میدهد.
متن را کپی کنید (تحریف کنید) #
برای کپی کردن متن در Vim مراحل زیر را دنبال کنید.
- با فشار دادن، وارد حالت بصری شوید
v. - انتخاب را با استفاده از کلیدهای جهتنما یا
h،j،k، تنظیم کنیدl.yبرای کپی کردن متن انتخاب شده، فشار دهید. - برای کپی کردن یک خط،
yyدر حالت عادی فشار دهید. - برای کپی کردن چندین خط، کلید را فشار داده
yو به دنبال آن یک دستور حرکت دهیدnj. به عنوان مثال،3jخط مکان نما و دو خط بعدی را کپی میکند.
چسباندن متن #
برای چسباندن متن:
pبرای چسباندن متن کپی شده یا برش داده شده بعد از مکان نما، یاPبرای چسباندن آن قبل از مکان نما، فشار دهید .- برای چسباندن چندین بار متن،
N(کهNتعداد دفعاتی است که میخواهید چسباندن را نشان میدهد) را فشار دهید و سپسpدر حالت عادی کلیک کنید.
حذف خطوط در Vim #
Vim چندین روش برای حذف کارآمد خطوط ارائه میدهد. به طور پیشفرض، خطوط حذف شده در یک ثبات ذخیره میشوند و به شما امکان میدهند بعداً آنها را جایگذاری کنید. با این حال، برای حذف دائمی خطوط، از ثبات سیاهچاله ( "_) استفاده کنید که از ذخیره محتوای حذف شده جلوگیری میکند.
حذف یک خط #
- در حالت عادی، مکاننما را در هر جایی از خط قرار دهید و
ddبرای حذف آن را فشار دهید. - از رجیستر سیاهچاله برای حذف خط بدون ذخیره آن در رجیستر استفاده کنید:
"_dd.
حذف چندین خط #
- برای حذف چندین خط از موقعیت مکاننما از
ndd(با تعداد خطوط جایگزین کنید ) استفاده کنید . به عنوان مثال، خط فعلی و دو خط بعدی را حذف میکند.n3dd - برای حذف چندین خط بدون ذخیره آنها، از استفاده کنید
"_ndd. به عنوان مثال،"_3dd.
حذف خطوط تا انتهای فایل #
dGبرای حذف تمام خطوط از محل مکاننما تا انتهای فایل استفاده میشود .- برای حذف آنها بدون ذخیره کردن، از استفاده کنید
"_dG.
حذف خطوط در ابتدای فایل #
dggبرای حذف تمام خطوط از محل مکاننما تا ابتدای فایل استفاده میشود .- برای حذف آنها بدون ذخیره کردن، از استفاده کنید
"_dgg.
سفارشی سازی ویم #
Vim امکان سفارشیسازی از طریق تنظیمات پیکربندی را فراهم میکند و به شما امکان میدهد رفتار و ظاهر آن را تغییر دهید. از این .vimrcفایل برای تعریف تنظیمات، نگاشتهای کلید و افزونهها استفاده کنید.
تغییر .vimrcفایل #
این .vimrcفایل تنظیمات تعریفشده توسط کاربر برای Vim را ذخیره میکند.
- فایل را باز کنید
.virmc.console$ vim ~/.vimrc - تنظیمات دلخواه خود را برای سفارشیسازی Vim اضافه کنید. برای مثال:
- فعال کردن شماره خطوطini
set numberاین تضمین میکند که شماره خطوط برای همه فایلها هنگام باز کردن آنها با استفاده از Vim نمایش داده میشوند.
- هایلایت کردن سینتکس را فعال کنید.ini
syntax onاین قابلیت عناصر کد را بر اساس ساختارشان با رنگهای مختلف برجسته میکند و خوانایی را بهبود میبخشد.
- پرانتزهای منطبق را نشان دهید.ini
set showmatchاین کار پرانتزها، براکتها یا آکولادهای منطبق را برجسته میکند تا به پیمایش کد و اشکالزدایی کمک کند.
- خط مکان نما را به صورت افقی برجسته کنید.ini
set cursorlineخط مکاننما هایلایت میشود که به شناسایی خط فعال کمک میکند.
- فعال کردن شماره خطوط
سفارشیسازی رنگها و تمها در Vim #
ویم از طرحهای رنگی برای تغییر ظاهر خود پشتیبانی میکند و یک محیط ویرایش شخصیسازیشدهتر و از نظر بصری جذابتر را فراهم میکند. برای سفارشیسازی رنگها با استفاده از پروفایلها در ویم، مراحل زیر را دنبال کنید.
- طرح رنگ فعال را در حالت خط فرمان بررسی کنید .
:colorschemeاین دستور، طرح رنگ فعلی را نمایش میدهد.

- برای مشاهدهی فهرستی از طرحهای رنگی موجود،
:colorschemeدستور را وارد کرده و به دنبال آن یک فاصله بگذارید، سپسCtrl+Dبرای نمایش فهرستی از تمهای موجود مشابه آنچه در زیر آمده است، را فشار دهید.blue delek evening koehler murphy quiet shine torte zellner darkblue desert habamax lunaperche pablo retrobox slate wildcharmdefault elflord industry morning peachpuff ron sorbet zaibatsu - طرح رنگ را به نمایهای مانند تغییر دهید
habamax.:colorscheme habamax
- Vim هنگام راهاندازی مجدد، طرحهای رنگی را به حالت اولیه برمیگرداند. برای حفظ تغییرات، پیکربندی را به
.vimrcفایل خود اضافه کنید.colorscheme habamax
نقشه کلیدهای سفارشی در Vim #
برای تعریف نگاشتهای کلید سفارشی با استفاده از فایل، مراحل زیر را دنبال کنید .vimrc.
- فایل را باز کنید
.virmc.console$ vim ~/.vimrc qqبرای خروج از Vim در حالت درج، از map استفاده کنید.iniinoremap qq <Esc>اکنون فشار دادن
qqدر حالت درج، به حالت عادی خارج میشود.- برای ذخیره فایل در Vim از Ctrl+ استفاده کنید.Sini
nnoremap <C-s> :w<CR> inoremap <C-s> <Esc>:w<CR>a
برای ذخیره فایل، کلید ترکیبی Ctrl+ را در حالت معمولی یا حالت درج فشار دهید .S
- نقشه
qبرای بستن یک فایل.ininnoremap q :q<CR>
فشردن
qدر حالت عادی، فایل فعال را میبندد. - نقشه Ctrl+ Vبرای تغییر حالت چسباندن.console
nnoremap <C-v> "+p inoremap <C-v> <Esc>"+pi"
فشردن Ctrl+ Vدر حالت عادی یا حالت درج، حالت چسباندن را فعال میکند که هنگام چسباندن کد از کلیپبورد سیستم به ویرایشگر متن Vim مفید است.
نصب و مدیریت افزونهها در Vim #
افزونهها ویرایشگر متن Vim را تغییر میدهند و قابلیتهای آن را گسترش میدهند. برای استفاده از vim-plugمدیر افزونهها جهت نصب و مدیریت افزونهها، مراحل زیر را دنبال کنید.
- آخرین نسخه
vim-plugمدیریت افزونهها را نصب کنید.console$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim - فایل را باز کنید
.virmc.console$ vim ~/.vimrc - برای تعریف افزونهها، محتویات زیر را به فایل اضافه کنید.ini
call plug#begin('~/.vim/plugged') Plug 'vim-airline/vim-airline' " Status bar enhancement Plug 'tpope/vim-commentary' " Easy commenting call plug#end()
فایل را ذخیره کنید و ببندید.
پیکربندی فوق افزونههای
vim-commentaryandvim-airlineرا در Vim نصب میکند. - Vim را باز کنید و دستور زیر را در حالت خط فرمان اجرا کنید تا افزونههای مشخص شده نصب شوند.console
:PlugInstall
مدیریت افزونهها با استفاده ازvim-plug #
- حالت عادی را در ویرایشگر متن Vim خود وارد کنید.
- تمام افزونههای نصب شده را بهروزرسانی کنید.console
:PlugUpdate - تمام افزونههای بلااستفاده را حذف کنید.console
:PlugClean - تمام افزونههای نصب شده را فهرست کنید.console
:PlugStatusبرای بررسی افزونههای اضافی که میتوانید در ویرایشگر متن Vim خود نصب کنید، از صفحه Vim Awesome دیدن کنید .
خروج از ویم #
بسته به اینکه آیا میخواهید تغییرات خود را ذخیره کنید یا خیر، خروج از Vim میتواند به چندین روش انجام شود. برای خروج از ویرایشگر متن Vim، مراحل زیر را دنبال کنید.
:wqبرای ذخیره فایل و خروج از Vim، وارد حالت خط فرمان شوید .console:wq- از Vim خارج شوید و هرگونه تغییر در فایل را نادیده بگیرید.console
:q! - از ویم خارج شوید.console
:q - از تمام فایلهای باز خارج شوید.console
:qaدستور بالا از Vim خارج میشود و تمام فایلهای باز را میبندد.
- بدون ذخیره تغییرات در چندین فایل باز، از Vim خارج شوید.console
:qa!
نتیجه گیری #
شما از ویرایشگر متن Vim در لینوکس برای ایجاد، باز کردن، مدیریت و تغییر فایلها استفاده کردهاید. هایلایت کردن سینتکس Vim، پیکربندی ویژگیهای طرح رنگ و اصلاح نگاشتهای کلید برای فعال کردن ناوبری کارآمد در ویرایشگر متن را بررسی کردهاید. برای گزینههای پیکربندی بیشتر، man vimدستور را اجرا کنید تا راهنمای Vim و صفحه استفاده را مشاهده کنید.













