یک نجار را بدون ابزار ، نویسنده بدون قلم یا سرآشپز بدون چاقو تصور کنید – این مانند تلاش برای تصور یک توسعه دهنده یا sysadmin بدون ویرایشگر متن قابل اعتماد است.

برای DEVS ، ویرایشگرهای متن چندتایی نهایی هستند که روش ایجاد ، مدیریت و تبدیل داده های خام را به خروجی معنی دار شکل می دهد.

در حالی که ویراستاران مدرن دوست دارند VS Code و متن متعالی برای رابط های براق خود محبوبیت پیدا کرده است ، در مورد سادگی و قدرت ابزارهای کلاسیک چیزی بی انتها وجود دارد.

VIM که مورد علاقه برخی و از دیگران ترسیده است ، ویرایشگر متن است که در آزمون زمان ایستاده است. VIM (VI بهبود یافته) که از سلف VI خود متولد شده است ، سرعت ، تطبیق پذیری و کنترل بی نظیری را ارائه می دهد.

در این آموزش ، شما می آموزید که چه چیزی VIM را بسیار خاص می کند. ما دستورات ، فیلتر کردن متن و قابلیت های دستکاری رشته ای آن را کشف خواهیم کرد تا به شما در مهار قدرت واقعی آن کمک کنیم.

آنچه را پوشش خواهیم داد:

  1. ویرایشگرهای متن در لینوکس

  2. روش باز کردن ویرایشگر VIM

  3. حالت در VIM

  4. دستورات اصلی VIM

  5. دستورات را برش ، کپی ، چسباندن و حذف کنید

  6. دستورات را جستجو و جایگزین کنید

  7. روش خواندن پرونده ها با استفاده از بیشتر و کمتر

  8. فیلترهای متن

  9. ابزار خلاصه متن: WC

ویرایشگرهای متن در لینوکس

لینوکس انواع ویرایشگرهای متنوعی را ارائه می دهد ، هر کدام برای انواع مختلف کاربران – از مبتدیان گرفته تا توسعه دهندگان پیشرفته – طراحی شده اند.

سردبیران دوست دارند نانو برای افراد تازه وارد که به یک تجربه ساده و کاربر پسند در این زمینه نیاز دارند بسیار عالی هستند terminalبشر نانو دستورات مفیدی را در پایین صفحه نمایش می دهد و باعث می شود حرکت بدون منحنی یادگیری شیب دار آسان شود.

گودال، ویرایشگر پیش فرض برای محیط دسک تاپ GNOME ، یک رابط کاربری تمیز و گرافیکی ایده آل برای ویرایش متن اصلی ارائه می دهد. از طرف دیگر ، کیت به کاربران دسک تاپ KDE توجه می کند و تجربه ای غنی تر از ویژگی های مختلف ، با ویندوزهای متعدد ، برجسته سازی نحو و یکپارچه را فراهم می کند terminalبشر

Emacs یک ویرایشگر همه کاره و بسیار قابل تنظیم است که می تواند به یک محیط کل توسعه تبدیل شود ، ایده آل برای کاربران قدرت که بیش از یک ویرایشگر متن می خواهند.

VS Code وت اتم ویرایشگرهای مدرن و گرافیکی هستند که مجموعه ای از ویژگی های غنی ، از جمله پسوندها ، ابزارهای اشکال زدایی و ادغام GIT را ارائه می دهند و آنها را در بین توسعه دهندگان مورد علاقه قرار می دهند.

چرا بسیاری از devs vim را ترجیح می دهند؟

با وجود طیف گسترده ای از ویرایشگرهای متنی موجود در لینوکس ، VIM به عنوان انتخاب ترجیحی برای بسیاری از کاربران ، به ویژه کسانی که نیاز به یک محیط ویرایش سبک ، سریع و بسیار کارآمد دارند ، معرفی می شود.

VIM ، یک نسخه بهبود یافته از ویرایشگر کلاسیک VI ، در دسترس است روی تقریباً هر توزیع لینوکس و می تواند در هر دو گرافیکی و terminalمحیط های مبتنی بر محبوبیت آن ناشی از سرعت و کارآیی استثنایی آن است.

VIM کاملاً صفحه کلید محور است و به شما امکان می دهد بدون نیاز به ماوس کارهای ویرایش پیچیده ای را به سرعت انجام دهید. این امر باعث می شود که برای کار از راه دور ، جایی که ممکن است مجبور شوید اعتماد کنید بسیار مفید است روی منابع حداقل سیستم.

قدرت ویم در آن نهفته است ویرایش معین سیستم ، که ورودی متن و حالت های فرمان را جدا می کند ، که به زودی یاد خواهید گرفت. این به شما امکان می دهد اقدامات دقیقی را با چند کلید انجام دهید. این که آیا شما در حال پیمایش در یک پرونده هستید ، به دنبال یک رشته هستید ، یا دستکاری های متن پیچیده ای را انجام می دهید ، VIM شما را قادر می سازد بدون اینکه دستان خود را از صفحه کلید خارج کنید ، همه این کارها را انجام دهید.

زیرا VIM (یا VI) از قبل نصب شده است روی بیشتر سیستم های لینوکس ، اغلب گزینه های Go-to برای توسعه دهندگان و مدیران سیستم است که تکیه می کنند روی همه جا و ویژگی های قدرتمند آن. به طور خلاصه ، ترکیب VIM از سرعت ، تطبیق پذیری و کارآیی آن را به عنوان ویرایشگر انتخاب برای بسیاری از کاربران لینوکس که به دنبال تقویت بهره وری خود هستند ، می کند.

روش باز کردن ویرایشگر VIM

باز کردن پرونده در VIM ساده و کارآمد است. برای شروع ویرایش هر پرونده ، به سادگی از دستور زیر در خود استفاده کنید terminal:

vim [filename]

در اینجا ، جایگزین کنید [filename] با نام پرونده ای که می خواهید باز کنید. اگر پرونده وجود نداشته باشد ، VIM یک پرونده جدید با آن نام ایجاد می کند. پس از اجرای ، VIM پرونده را باز می کند و به شما امکان می دهد بلافاصله ویرایش را شروع کنید.

مثال:

vim data.txt # A file that doesn't exist yet, so Vim creates a new file named data.txt

وقتی دستور را اجرا می کنید vim data.txt، VIM پرونده جدیدی به نام خود باز کرد data.txt زیرا پرونده ای با این نام قبلاً در فهرست فعلی وجود نداشت. در VIM ، این توسط پیام در انتهای ویرایشگر نشان داده شده است ، که آمده است: data.txt [NEW]

ایجاد یک فایل جدید با استفاده از دستور VIM

اگر پرونده ای که می خواهید ویرایش کنید از قبل وجود دارد ، می توانید با استفاده از همان دستور ، آن را در VIM باز کنید. شما قادر خواهید بود محتوای آن را ببینید و در صورت لزوم ویرایش کنید. اگر نمی بینید [New] پیام در پایین (همانطور که برای پرونده های جدید نشان داده شده است) ، تأیید می کند که پرونده از قبل وجود دارد.

حالت در VIM

VIM چندین حالت دارد ، اما متداول ترین آنها عبارتند از:

  • حالت عادی (حالت فرمان) – برای ناوبری و اجرای دستورات استفاده می شود.

  • حالت درج – برای تایپ و ویرایش متن استفاده می شود.

هنگامی که یک پرونده را در VIM باز می کنید ، به طور پیش فرض در حالت فرمان شروع می شود. این حالت به شما امکان می دهد بدون تغییر مستقیم متن ، حرکت کنید ، دستورات را اجرا کنید و عملیات های مختلفی را انجام دهید. برای ویرایش متن در پرونده ، باید برای درج حالت تغییر دهید.

حالت فرمان چیست؟

حالت فرمان حالت پیش فرض در VIM است. در این حالت می توانید با استفاده از کلیدهای فلش از طریق پرونده حرکت کنید و محتوا را برش ، کپی ، چسباندن یا حذف کنید و دستوراتی مانند ذخیره یا ترک آن را اجرا کنید.

برای تغییر به حالت فرمان از هر حالت دیگر ، فشار دهید Esc کلید

مثال: اگر در حالت درج هستید و برای ذخیره یا پیمایش نیاز به بازگشت به حالت فرمان دارید ، فشار دهید Escبشر

VIM در حالت فرمان

در تصویر فوق ، “hello.txt” 1l ، 1b “نشان می دهد که پرونده hello.txt باز است و در حال حاضر در حالت فرمان است ، که هنگام باز کردن VIM حالت پیش فرض است. 1L 1 خط را در پرونده نشان می دهد (در حال حاضر پرونده خالی است ، بنابراین فقط یک خط خالی وجود دارد). 1b نشان دهنده 1 بایت است (پرونده در حال حاضر خالی است)

حالت درج چیست؟

درج حالت به شما امکان می دهد متن را در پرونده ویرایش یا تایپ کنید ، مشابه ویرایشگر متن سنتی. می توانید خطوط جدید را وارد کنید ، متن موجود را تغییر داده و مستقیماً تغییراتی ایجاد کنید.

مطبوعات i در حالی که در حالت فرمان است. این سوئیچ می کند تا حالت را وارد کند و مکان نما را در موقعیت فعلی قرار می دهد و به شما امکان می دهد تایپ را شروع کنید.

ویرایشگر به حالت درج تغییر داد

در تصویر فوق ، “ininsert—” نشان می دهد که ویرایشگر به حالت درج تغییر یافته است و به شما امکان می دهد متن را مستقیماً در پرونده تایپ و ویرایش کنید.

نگاه سریع: وقتی یک پرونده را باز می کنید ، همیشه قسمت پایین را بررسی کنید terminal برای تعیین حالت فعلی خود. اگر خط پایین اطلاعات مربوط به پرونده را نشان می دهد ، شما در حالت فرمان هستید. اگر خط پایین صریح می گوید -- INSERT --، شما در حالت درج هستید. اگر می خواهید از حالت فرمان برای درج حالت: مطبوعات iبشر و از حالت را به حالت فرمان وارد کنید: مطبوعات Escبشر

دستورات اصلی VIM

در زیر برخی از دستورات اساسی برای کمک به شما در مدیریت کارآمد پرونده ها در VIM وجود دارد.

توجه: قبل از استفاده از این دستورات ، با فشار دادن در حالت فرمان اطمینان حاصل کنید Escبشر

1. تغییرات را ذخیره کنید

برای ذخیره تغییرات ایجاد شده در یک پرونده ، از دستور زیر استفاده کنید:

:w

این پرونده را بدون خروج از VIM می نویسد (ذخیره می کند).

2. تغییرات را ذخیره کنید و ترک کنید

اگر ویرایش شده اید و می خواهید تغییرات را ذخیره کنید و به طور همزمان از VIM خارج شوید ، استفاده کنید:

:wq

این دستور تغییرات را می نویسد و سپس ویرایشگر را ترک می کند.

3. بدون صرفه جویی در تغییرات ترک کنید

اگر می خواهید بدون صرفه جویی در هرگونه تغییر ، از آن خارج شوید ، می توانید استفاده کنید:

:q

در صورت عدم ایجاد تغییراتی از آخرین ذخیره ، این دستور پرونده را می بندد.

پیشنهاد می‌کنیم بخوانید:  باز کردن چندین فایل با استفاده از "with open" در پایتون

4. بدون صرفه جویی در تغییرات ، نیرو را ترک کنید

در صورت ایجاد تغییراتی در پرونده اما می خواهید بدون صرفه جویی در آنها از آن خارج شوید ، می توانید مجبور به ترک آن شوید:

:q!

در ! هرگونه تغییر نامشخص را نادیده می گیرد و بلافاصله پرونده را می بندد.

دستورات برش ، کپی ، چسباندن و حذف (به علاوه دیگران)

روش قرار دادن مکان نما برای دستکاری متن

قبل از استفاده از هر یک از دستورات ذکر شده در زیر (کپی ، برش ، چسباندن و حذف) ، مهم است که درک کنید که مکان نما را در کجا قرار دهید.

  • کپی (یانک) ، برش ، حذف: برای بیشتر عملیات ، مکان نما باید قرار گیرد در نقطه شروع متن شما می خواهید بر روی آن عمل کنید. این بدان معنی است که اگر در حال کپی کردن یا برش یک کلمه هستید ، مکان نما را در آن قرار دهید شروع از کلمه اگر با یک خط کار می کنید ، مکان نما باید در هر جایی باشد روی آن خط برای عملیات مبتنی بر بند ، مکان نما را در هر نقطه در پاراگراف قرار دهید.

  • خمیر: متن در مکان نما چسبانده خواهد شد موقعیتبشر بنابراین ، اطمینان حاصل کنید که مکان نما شما در جایی که می خواهید محتوای کپی شده یا برش داده شود قرار داده شده است.

به عنوان مثال ، بیایید بگوییم من یک File.txt دارم که محتوای زیر را دارد –

# file.txt
Hey readers,  
In this blog, we're learning Vim. This file is for demonstration purposes,
where we'll explore various editing commands like cut, copy, paste, and delete. Let's dive in!  

Vim is a powerful text editor that comes pre-installed روی most Unix-based systems.
Mastering Vim can significantly boost your efficiency as a developer.  

To start with, let's learn some basic navigation and text manipulation commands.
Stay tuned as we break down each command with examples!

تمام دستورات ذکر شده در زیر از این پرونده به عنوان مرجع برای توضیح نمونه ها استفاده می کنند.

1. کپی (یانک)

در VIM ، کپی کردن “Yanking” نامیده می شود. برای کپی کردن متن از دستورات زیر استفاده کنید. موقعیت مکان نما برای اطمینان از کپی کردن متن صحیح مهم است.

فرمان شرح نمونه
yl نامه ای از موقعیت مکان نما فعلی را کپی می کند (مکان نما باید باشد روی سمت چپ نامه ای که می خواهید کپی کنید) اگر مکان نما شما است روی سمت چپ از “ح” در Hey readers, و شما تایپ می کنید yl، VIM کپی می کند “ح” (فقط یک شخصیت).
yw یک کلمه را کپی می کند (مکان نما باید در آغاز کلمه باشد) اگر مکان نما شما است روی سمت چپ از “وبلاگ ،” در جمله ، تایپ کردن yw کپی خواهد کرد “وبلاگ ،” (از جمله کاما).
yy کل خط را کپی می کند (مکان نما می تواند در هر جایی باشد روی خط) اگر مکان نما شما در هر موقعیتی قرار دارد روی خط 1 سلام خوانندگان ، تایپ کردن yy کل خط را کپی می کند
2yy دو خط را از جمله خط مکان نما فعلی کپی می کند (مکان نما می تواند در هر جایی باشد روی خط اول) اگر مکان نما شما در هر موقعیتی قرار دارد روی خط 1 سلام خوانندگان ، تایپ کردن 2yy کل خط را به همراه خط بعدی کپی می کند.
y{ بقیه پاراگراف را در بالای خط که مکان نما در حال حاضر قرار دارد کپی می کند (و از جمله آن خط) اگر مکان نما شما در هر جایی در این بند 2 قرار دارد (VIM یک ویرایشگر متن قدرتمند است …). y{ همه چیز را از ابتدای این پاراگراف تا موقعیت مکان نما کپی می کند.
y} بقیه پاراگراف را در زیر خط که مکان نما در حال حاضر قرار دارد کپی می کند (و از جمله آن خط) اگر مکان نما شما در هر جایی در این بند 2 قرار دارد (VIM یک ویرایشگر متن قدرتمند است …). y} همه چیز را از موقعیت مکان نما فعلی تا انتهای پاراگراف کپی می کند.
yG همه چیز را از خط فعلی تا انتهای پرونده کپی می کند (مکان نما باید در خط باشد که می خواهید عملیات کپی شروع شود) اگر مکان نما شما در ابتدای این خط است “VIM یک ویرایشگر متن قدرتمند است … “، تایپ YG این خط و همه چیز را در زیر آن تا پایان پرونده کپی می کند

2. برش (تغییر)

برش در VIM به عنوان “تغییر” متن شناخته می شود. عملیات برش جایگزین متن می شود. درست مانند کپی کردن ، هنگام استفاده از دستورات برش ، موقعیت مکان نما مهم است.

فرمان شرح نمونه
cl نامه ای از موقعیت مکان نما فعلی را قطع می کند (مکان نما باید باشد روی سمت چپ نامه ای که می خواهید برش دهید) اگر مکان نما شما است روی در “ح” در "Hey readers," و شما تایپ می کنید cl، VIM حذف خواهد شد “ح” و به حالت درج سوئیچ کنید و به شما امکان می دهد جایگزینی را تایپ کنید.
cw یک کلمه را برش می دهد (مکان نما باید در ابتدای کلمه باشد) اگر مکان نما شما است روی در “وبلاگ ،” در جمله ، تایپ کردن cw حذف خواهد شد “وبلاگ ،” (از جمله کاما) و به حالت درج تغییر دهید و به شما امکان می دهد جایگزینی را تایپ کنید.
caw یک کلمه را به همراه فضای سفید رنگ قطع می کند (مکان نما باید در ابتدای کلمه باشد) اگر مکان نما شما در هر جای داخل است “وبلاگ ،”، تایپ کردن caw حذف خواهد شد “وبلاگ ،” (از جمله فضای قبلی) و به حالت درج سوئیچ کنید.
cc کل خط را کاهش می دهد (مکان نما می تواند در هر جایی باشد روی خط) اگر مکان نما شما در هر موقعیتی قرار دارد روی خط 1 (Hey readers,) ، تایپ کردن cc کل خط را حذف کرده و به حالت درج سوئیچ می کند.
2cc دو خط را قطع می کند ، از جمله خط مکان نما فعلی (مکان نما می تواند در هر جایی باشد روی خط اول) اگر مکان نما شما در هر موقعیتی قرار دارد روی خط 1 (Hey readers,) ، تایپ کردن 2cc این خط را به همراه خط بعدی حذف کرده و به حالت درج سوئیچ می کنید.
c{ متن را در پاراگراف بالای مکان مکان نما برش می دهد اگر مکان نما شما در هر جای پاراگراف 2 است (Vim is a powerful text editor…) ، تایپ کردن c{ همه چیز را از موقعیت مکان نما تا شروع پاراگراف حذف کرده و به حالت درج سوئیچ می کند.
c} متن را در بندهای زیر مکان مکان نما برش می دهد اگر مکان نما شما در هر جای پاراگراف 2 است (Vim is a powerful text editor…) ، تایپ کردن c} همه چیز را از موقعیت مکان نما تا انتهای پاراگراف حذف کرده و به حالت درج سوئیچ می کند.
cG همه چیز را از خط فعلی تا انتهای پرونده برش می دهد (مکان نما باید در خط باشد که می خواهید عملکرد برش شروع شود) اگر مکان نما شما در ابتدای این خط است (Vim is a powerful text editor…) ، تایپ کردن cG این خط و همه چیز را در زیر آن تا انتهای پرونده حذف می کند ، سپس به حالت درج تغییر می دهد.

3.

برای چسباندن متن کپی یا برش ، از دستورات زیر استفاده کنید. متن چسبیده در موقعیت مکان نما فعلیبشر

فرمان شرح
p (حروف کوچک) متن کپی شده یا برش را چسباند پس از مکان نما
P (حروف بزرگ) متن کپی شده یا برش را چسباند پیش از مکان نما

4. حذف

حذف متن در VIM به شما امکان می دهد متن ناخواسته را در حالی که در حالت فرمان باقی مانده اید حذف کنید. مکان نما باید به درستی قرار بگیرد تا متن مورد نظر را حذف کند. پس از حذف ، هنوز هم می توانید متن حذف شده را به یک مکان جدید بچسبانید.

فرمان شرح نمونه
dl نامه ای را از موقعیت مکان نما فعلی حذف می کند (مکان نما باید باشد روی سمت چپ نامه ای که می خواهید حذف کنید) اگر مکان نما شما است روی “ح” در "Hey readers," و شما تایپ می کنید dl، VIM حذف خواهد شد “ح”بشر
dw یک کلمه را حذف می کند (مکان نما باید در ابتدای کلمه باشد) اگر مکان نما شما است روی “وبلاگ ،” در جمله ، تایپ کردن dw حذف خواهد شد “وبلاگ ،” (از جمله کاما).
daw یک کلمه را به همراه فضای سفید دنباله حذف می کند (مکان نما باید در ابتدای کلمه باشد) اگر مکان نما شما در هر جای داخل است “وبلاگ ،”، تایپ کردن daw حذف خواهد شد “وبلاگ ،” (از جمله فضای قبلی).
dd کل خط را حذف می کند (مکان نما می تواند در هر جایی باشد روی خط) اگر مکان نما شما در هر موقعیتی قرار دارد روی خط 1 (Hey readers,) ، تایپ کردن dd کل خط را حذف می کند.
2dd دو خط از جمله خط مکان نما فعلی را حذف می کند (مکان نما می تواند در هر جایی باشد روی خط اول) اگر مکان نما شما در هر موقعیتی قرار دارد روی خط 1 (Hey readers,) ، تایپ کردن 2dd این خط را به همراه خط بعدی حذف می کند.
d{ پاراگراف بالای مکان نما را حذف می کند (مکان نما می تواند در هر نقطه از پاراگراف مورد نظر شما حذف شود) اگر مکان نما شما در هر جای پاراگراف 2 است (Vim is a powerful text editor…) ، تایپ کردن d{ همه چیز را از موقعیت مکان نما تا شروع پاراگراف حذف می کند.
d} پاراگراف زیر مکان نما را حذف می کند (مکان نما می تواند در هر نقطه از پاراگراف مورد نظر شما حذف شود) اگر مکان نما شما در هر جای پاراگراف 2 است (Vim is a powerful text editor…) ، تایپ کردن d} همه چیز را از موقعیت مکان نما تا انتهای پاراگراف حذف می کند.
dG همه چیز را از خط فعلی تا انتهای پرونده حذف می کند (مکان نما باید در خط باشد که می خواهید عملکرد حذف شروع شود) اگر مکان نما شما در ابتدای این خط است (Vim is a powerful text editor…) ، تایپ کردن dG این خط و همه چیز را در زیر آن تا پایان پرونده حذف می کند.

5. سایر دستورات مفید

دستورات شرح
gg مکان نما را به خط اول پرونده منتقل می کند
G مکان نما را به آخرین خط پرونده منتقل می کند
:se nu شماره های خط را در پرونده تنظیم می کند
:se nonu اعداد خط را از پرونده حذف می کند
:u آخرین عمل را خنثی می کند
:10 پرش به خط 10 (به عنوان مثال)
پیشنهاد می‌کنیم بخوانید:  Red Hat Enterprise Linux – مفاهیم و دستورات ضروری RHEL که باید بدانید

توجه داشته باشید که حذف کردن متن را حذف می کند اما آن را به طور پیش فرض در کلیپ بورد سیستم ذخیره نمی کند. متن به ثبت نام بی نام ویم می رود ، به این معنی که می توان آن را در VIM چسباند اما خارج از آن نیست. برش صریحاً متن را در کلیپ بورد ذخیره می کند تا بتوانید آن را در خارج از VIM نیز چسبانده اید.

دستورات را جستجو و جایگزین کنید

VIM جستجوی قدرتمند را فراهم می کند و عملکردی را جایگزین می کند که به شما امکان می دهد کلمات یا الگوهای خاصی را پیدا کنید و آنها را به طور کارآمد جایگزین کنید. درک روش جستجو و جایگزینی متن برای بهبود بهره وری در هنگام ویرایش پرونده های بزرگ مهم است.

در زیر تفکیک دستورات مختلف جستجو و جایگزینی در VIM آورده شده است.

دستورات جستجو

  • به جلو جستجو کنید (/): هنگامی که می خواهید یک کلمه یا الگوی زیر مکان نما را جستجو کنید ، از آن استفاده کنید / فرمان این در پرونده به جلو جستجو می شود.

  • جستجو به عقب (?): به طور مشابه ، اگر می خواهید یک کلمه یا الگوی بالاتر از مکان نما را جستجو کنید ، از آن استفاده کنید ? فرمان با این کار به عقب در پرونده جستجو می شود.

پس از انجام جستجو ، می توانید از طریق نتایج جستجو حرکت کنید:

  • n: به مسابقه بعدی در همان جهت بروید (اگر جلو باشد /، اگر عقب باشد ?).

  • N: به مسابقه قبلی در جهت مخالف بروید (اگر عقب باشد /، اگر به جلو اگر ?).

دستورات را جایگزین کنید

پس از قرار دادن کلمه یا الگویی که می خواهید جایگزین کنید ، VIM چندین دستور برای جایگزینی متن ارائه می دهد.

فرمان (در حالت فرمان) شرح
/search_word برای کلمه داده شده جستجو می کند و مکان نما را به اولین وقوع آن در زیر موقعیت مکان نما فعلی سوق می دهد.
:s/search_word/replace_word اولین وقوع را جایگزین می کند search_word با replace_word در خط فعلی
:s/search_word/replace_word/g جایگزین همه وقایع search_word با replace_word در خط فعلی
:%s/search_word/replace_word اولین وقوع را جایگزین می کند search_word با replace_word در کل پرونده
:%s/search_word/replace_word/g جایگزین همه وقایع search_word با replace_word در کل پرونده

در اینجا یک مثال آورده شده است:

در Vim ، /Tanishka الگوی جستجوی یک مسابقه دقیق و حساس به کلمه “Tanishka” است.

1ECBC6F4-65EF-46A9-841D-DBB3251F8EC7

برای جایگزینی “Tanishka” با یک کلمه دیگر ، مانند “Linux” ، می توانید از دستور جایگزینی مانند این استفاده کنید: :s/Tanishka/Linux:

C9DFFDBA-C250-4601-8E3B-950D875908F8

به طور پیش فرض ، این دستور فقط اولین وقوع “Tanishka” را در خطی که مکان نما در آن قرار دارد جایگزین می کند.

9831423D-4AAB-43A1-9B06-408FB5DD4828

اگر می خواهید تمام وقایع “Tanishka” را در همان خط جایگزین کنید ، باید اضافه کنید g (جهانی) پرچم پس از رشته جایگزینی مانند این: :s/Tanishka/Linux/gبشر

C53D0DE2-B7B4-4154-BAAA-3D28FB3C29DB

این تضمین می کند که هر نمونه از “Tanishka” در خط فعلی با “لینوکس” جایگزین می شود.

DAC817E5-8130-44D4-8F09-D887E42CC859

به همین ترتیب ، % برای مشخص کردن نماد استفاده می شود کل پرونده هنگام انجام تعویض در اینجا روش عملکرد آن در ترکیب با دستور جایگزینی آورده شده است:

  1. اولین واقعه را در هر خط از پرونده جایگزین کنید:

    • :%s/Tanishka/Linux: این دستور فقط اولین وقوع “Tanishka” در هر خط از پرونده را جایگزین می کند.
  2. تمام وقایع را در کل پرونده جایگزین کنید:

    • :%s/Tanishka/Linux/g: اضافه کردن g (جهانی) پرچم تضمین می کند که تمام وقایع “Tanishka” در هر خط از پرونده با “لینوکس” جایگزین می شود.

روش خواندن پرونده ها با استفاده از more وت less

در cat فرمان

از دستور CAT اغلب برای خواندن محتوای پرونده استفاده می شود.

به عنوان مثال:

cat file.txt # Displays content of file

در حالی که cat Command ابزاری ساده برای مشاهده محتوای پرونده است ، سادگی آن هنگام کار با پرونده های بزرگ یا در صورت نیاز به پیمایش دقیق ، اغلب کوتاه می شود. اینجاست more وت less دستورات بازی می شوند و قابلیت های پیشرفته ای را برای مشاهده و پیمایش متن به طور مؤثر ارائه می دهند.

در more فرمان

در more فرمان به شما امکان می دهد پرونده ها را به طور همزمان مشاهده کنید ، و آن را به ارتقاء قابل توجهی از cat هنگام برخورد با پرونده های بزرگ. اما از نظر ناوبری عقب و ویژگی های پیشرفته محدودیت هایی با محدودیت دارد.

در اینجا نحو برای more:

more [FILENAME]

و در اینجا یک مثال وجود دارد:

more file.txt # Displays content of file.txt one page at a time

کلیدهای مورد استفاده در هنگام مشاهده:

  1. نوار فضایی: با یک حرکت می کند page

  2. Enter: با یک خط به جلو حرکت می کند

  3. ب: با یک حرکت می کند page

  4. س: محتوای پرونده را ترک و خروج کنید

در less فرمان

در less فرمان اغلب یک جایگزین برتر برای آن محسوب می شود more با توجه به قابلیت های پیشرفته ناوبری و انعطاف پذیری. برخلاف moreبا less هر دو ناوبری رو به جلو و عقب را امکان پذیر می کند ، و آن را برای بررسی پرونده های بزرگ یا سیاهههای مربوطه ایده آل می کند.

این نحو آن است:

less [FILENAME]

و در اینجا یک مثال وجود دارد:

less file.txt # Displays content of file.txt one page at a time

کلیدهای مورد استفاده در هنگام مشاهده:

  1. نوار فضایی: با یک حرکت می کند page

  2. Enter: با یک خط به جلو حرکت می کند

  3. ب: با یک حرکت می کند page

  4. کلید فلش بالا/پایین: با یک خط بالا یا پایین حرکت می کند

  5. س: ترک و خروج کمتر

تنها تفاوت عمده بین more وت less دستورات این است که فرمان کمتری به پیمایش دو طرفه اجازه می دهد ، بنابراین استفاده از آن به طور معمول راحت تر است.

فیلترهای متن

بوها فیلتر متنی در لینوکس command-line ابزاری که داده های متنی را با اصلاح ، استخراج یا قالب بندی آن قبل از تولید نتیجه پردازش می کند.

فیلترهای افقی

تمرکز فیلتر افقی روی استخراج ، دستکاری یا نمایش خطوط خاص از یک فایل یا خروجی فرمان. ابزارهای متداول شامل headبا tailوت grepبشر

  1. head: فرمان سر چند خط اول یک پرونده را نشان می دهد. به طور پیش فرض ، 10 خط اول را نشان می دهد. این نحو آن است:

     head [OPTIONS] [FILENAME]
    

    و در اینجا مثالی از روش استفاده از آن آورده شده است:

     head file.txt # Displays first ten lines from file.txt
     head -n 5 file.txt # Displays first five lines from file.txt
    
  2. tail: دستور دم چند خط آخر یک پرونده را نشان می دهد. به طور پیش فرض ، 10 خط آخر را نشان می دهد. این نحو آن است:

     tail [OPTIONS] [FILENAME]
    

    و در اینجا یک مثال وجود دارد:

     tail file.txt # Displays last ten lines from file.txt
     tail -n 5 file.txt # Displays last five lines from file.txt
    
  3. grep: دستور GREP الگوهای موجود در یک پرونده یا ورودی را جستجو می کند. خطوطی را که با یک الگوی معین مطابقت دارند ، فیلتر می کند. این نحو آن است:

     grep [OPTIONS] [PATTERN] [FILENAME]
    

    گزینه ها:

    • -i: جستجوی حساس مورد.

    • -v: مسابقه را معکوس کنید (خطوط تطبیق را حذف کنید).

    • -n: تعداد خط مسابقات را نشان دهید.

نمونه

    grep Tanishka data.txt # Displays lines that have 'Tanishka' in them
    grep -i Tanishka data.txt # Displays lines that have 'Tanishka' irrespective of case
    grep -v Tanishka data.txt # Displays lines that do not have 'Tanishka' in them
    grep -n Tanishka data.txt # Displays lines that have 'Tanishka' in them along with number line

فیلترهای عمودی

  1. cut: دستور CUT قطعات منتخب خطوط را از هر پرونده نشان می دهد روی محدود کننده ها ، موقعیت های بایت یا زمینه های شخصیت. این نحو آن است:

     cut [OPTION] [FILENAME]
    

    همچنین با گزینه های مختلفی همراه است:

    • -c: شخصیت های خاص را استخراج کنید.

    • -b: بایت های خاص را استخراج کنید.

    • -d: یک تعیین کننده سفارشی را مشخص کنید (برگه پیش فرض است).

      • cut -d ":" -f 2 file.txt → زمینه دوم جدا شده توسط :بشر
    • -f: زمینه های خاص را استخراج کنید.

      • cut -d "," -f 1,3 file.csv → زمینه های 1 و 3 از CSV.

مثال:

    cut -c 1-10 Sample.txt # Displays characters from position 1 to 10
    cut -c 5 Sample.txt # Displays character at position 5
    cut -c 3,5 Sample.txt # Displays characters from position 3 and 5 only
    cut -d " " -f 1 Sample.txt # Displays first field separated by a space
    cut -d " " -f 2 Sample.txt # Displays second field separated by a space
    cut -d " " -f 3 Sample.txt # Displays third field separated by a space
    cut -d " " -f 1-3 Sample.txt # Displays first to third fields separated by a space
    cut -d " " -f 1,3 Sample.txt # Displays first and third fields separated by a space
    cut -d ":" -f 5 /etc/passwd # Displays fifth field separated by : in /etc/passwd

ابزار خلاصه متن: wc

در wc (Word Count) از دستور برای نمایش تعداد خطوط ، کلمات ، کاراکترها یا بایت ها در یک پرونده یا ورودی استفاده می شود. این یک ابزار ساده و در عین حال قدرتمند است که می توانید برای خلاصه کردن محتوای متن استفاده کنید.

این نحو آن است:

wc [OPTION] [FILENAME]

و در اینجا گزینه های آن وجود دارد:

  • -l: تعداد خطوط را نشان می دهد.

  • -w: تعداد کلمات را نشان می دهد.

  • -c: تعداد بایت ها را نشان می دهد.

  • -m: تعداد کاراکترها را نشان می دهد (برای کاراکترهای چند بیت مفید است).

  • -L: طول طولانی ترین خط را نشان می دهد.

مثال:

wc Sample.txt # Displays line count, word count, and byte count in Sample.txt
wc -w Sample.txt # Displays number of words in Sample.txt
wc -l Sample.txt # Displays number of lines in Sample.txt
wc -L Sample.txt # Displays number of characters in longest line in Sample.txt

wc -c Sample.txt # Displays number of bytes in Sample.txt (Actual storage size)
wc -m Sample.txt # Displays number of characters in Sample.txt (Actual number of characters regardless of enoing)

# ABCD😄
wc -c above.txt # "ABCD" = 4 bytes + "😄" = 4 bytes. 4 + 4 = 8 bytes
wc -m above.txt # "ABC" = 4 + "😄" = 1 byte. 4 + 1 = 5 bytes

سخنان پایانی

در این مقاله ، ما اصول اولیه استفاده از VIM ، ویرایشگر متن قدرتمند و انعطاف پذیر را پوشش دادیم. ما با روش باز کردن پرونده در VIM شروع کردیم و سپس در مورد حالت های آن آموخته اید. شما همچنین یاد گرفتید که چگونه از طریق پرونده ها حرکت کنید ، متن را ویرایش کنید و از ویژگی هایی مانند جستجو و جایگزین برای صرفه جویی در وقت استفاده کنید. ما همچنین یک ابزار خلاصه مفید را مورد بررسی قرار دادیم.

اگر تازه وارد لینوکس هستید و می خواهید یک بنیاد قوی بسازید ، مقاله قبلی من را در جایی که اصول اولیه لینوکس را پوشش می دهم ، از جمله دستورات و نکات ضروری برای مبتدیان بررسی کنید. این یک نقطه شروع عالی برای تکمیل آنچه در اینجا درباره VIM آموخته اید!

تمرین این دستورات را ادامه دهید ، و به زودی آنها برای شما ماهیت دوم می شوند. تسلط با تکرار همراه است ، بنابراین به آزمایش و استفاده از این اصول در سناریوهای دنیای واقعی ادامه دهید.

برای مقالات بیشتر با ما همراه باشید. آماده شوید تا مهارت های RHEL خود را به سطح بعدی برسانید.

بیایید وصل شویم!