توزیعهای لینوکس با چندین ویرایشگر متن از پیش نصب شده ارائه میشوند. ex یکی از این ویرایشگرهای متن قدرتمند است که به شما امکان می دهد یک فایل متنی را یک خط در یک زمان ویرایش کنید.
در حالی که اکثر مردم برای مدت طولانی از ویرایشگرهای صفحه نمایش مانند nano یا Vim در لینوکس استفاده میکنند، هنوز از روزهای تلهتایپهای موجود باقی مانده است: سابقاً، ویرایشگر خط. اگرچه ممکن است بسیار قدیمی باشد، اما هنوز کاربردهایی دارد.
سابق چیست؟
ex یک ویرایشگر متن است که توسط Bill Joy، یک توسعه دهنده کلیدی BSD، که ویرایشگر اصلی vi را نیز نوشته است. همانطور که بعدا خواهید دید، این دو سردبیر رابطه نزدیکی دارند.
ex یک ویرایشگر خط است که به نظر می رسد. این یک ویرایشگر متنی است که در یک خط در یک زمان کار می کند، برخلاف ویرایشگرهای متن مدرن که روی بافرهای تمام صفحه کار می کنند.
ویرایشگرهای خط عمدتاً زمانی مورد استفاده قرار میگرفتند که بیشتر مردم از پایانههای چاپی استفاده میکردند که به عنوان تله چاپگر یا تله تایپ نیز شناخته میشدند تا با رایانه تعامل داشته باشند. از آنجایی که این دستگاه ها روی کاغذ چاپ می شدند، چاپ یک فایل کامل فقط برای تغییر چند خط غیرعملی بود. این دستگاه ها همچنین تأثیر زیادی بر طول دستورات لینوکس داشتند.
هنگامی که پایانه های ویدئویی محبوب شدند، بسیاری از افراد به ویرایشگرهای صفحه روی آوردند زیرا می توانستند کل فایل را به یکباره ببینند. اکثر کاربران این کار را بسیار راحتتر از ویرایشگرهای خط قدیمی میدانستند و با انتقال از پایانههای متصل به یک مینی رایانه یا رایانههای بزرگ به رایانههای رومیزی که شبیهسازهای ترمینال و رابطهای کاربری گرافیکی را اجرا میکنند، به آنها پایبند بودند.
ویراستاران خط هرگز از بین نرفتند. MS-DOS حتی با یکی به نام Edlin عرضه شد که تنها ویرایشگری بود که مایکروسافت تا زمان ویرایشگر MS-DOS با سیستم عرضه می کرد. همچنان میتوانید از ویرایشگرهای خط برای ویرایشهای سریع و همچنین اسکریپتها استفاده کنید، به همین دلیل است که آنها در سیستمهای لینوکس مدرن گیر کردهاند.
شروع سابق در لینوکس
شروع سابق ساده است. فقط آن را در خط فرمان با:
ex file
یک صفحه خالی با کاراکتر دو نقطه (:) خواهید دید. به نظر می رسد حالت فرمان در Vim.
شما همچنین می توانید یک اسکریپت را به سابق تغذیه کنید. شما این کار را با ex، یک کاراکتر خط تیره (-) و سپس نام فایلی که می خواهید ویرایش کنید و سپس فایل اسکریپت که به عنوان ورودی استاندارد هدایت می شود انجام دهید.
مثلا:
ex - file < script
چاپ خطوط با سابق
برای اینکه ببینید در کجای فایل هستید، باید خط یا شماره خط را چاپ کنید. برای چاپ خط از دستور :p استفاده کنید.
برای چاپ شماره خط از دستور := (علامت مساوی) استفاده کنید.
برای چاپ طیف وسیعی از خطوط، از خط شروع، کاما و سپس خط پایان استفاده کنید. به عنوان مثال، برای چاپ خطوط بین 3 و 6:
:3,6
ویرایش خطوط با سابق در لینوکس
همچنین می توانید متن جدیدی را به فایل ها اضافه کنید. برای درج یک خط، از دستور :insert یا :i و سپس متنی که می خواهید اضافه کنید استفاده کنید.
مثلا:
:i some text
برای حذف خط فعلی، از دستور :delete یا :d استفاده کنید.
با دستور :move یا :m می توانید یک خط را به خط دیگری منتقل کنید.
جستجو و جایگزینی متن با نمونه قبلی
قدرت سابق همراه با دستورات جستجو و جایگزینی آن است. برای انجام جستجو و جایگزینی، فقط از s/old/new/، مشابه sed استفاده کنید، که در آن «قدیمی» نشان دهنده متنی است که می خواهید تغییر دهید و «جدید» نشان دهنده چیزی است که می خواهید آن را تغییر دهید.
برای ایجاد تغییر در سراسر یک فایل، دستور را با کاراکتر درصد (%) وارد کنید و یک /g را اضافه کنید:
%s/old/new/g
تغییر به Vim
اگر متوجه شده اید که دستورات در حالت فرمان بسیار شبیه به Vim هستند، دلیل خوبی برای آن وجود دارد. ex نسخه ویرایشگر خط Vim است. ویراستاران اصلی vi و ex هر دو توسط بیل جوی در UC Berkeley در دهه 1970 نوشته شده اند. پایانه های چاپ و در نتیجه ویرایشگرهای خط هنوز هم در آن زمان به طور مکرر مورد استفاده قرار می گرفتند، به ویژه برای کنسول های سیستم.
جابجایی به Vim آسان است و ویرایشگر تمام صفحه برای ویرایش تعاملی مفیدتر است. برای انجام این کار، فقط دستور بصری را صادر کنید:
:visual
اکنون می توانید از سابق در رایانه لینوکس خود استفاده کنید
در حالی که ex تا حد زیادی توسط ویرایشگرهای صفحه جایگزین شده است، شما هنوز هم می توانید از آن به صورت کوتاه استفاده کنید. می توانید متن را درج و حذف کنید و همچنین عملیات جستجو و جایگزینی را انجام دهید.
ex نیز با Vim محبوب تر در هم آمیخته است. برخی دیگر از ویرایشگرهای متنی لینوکس مبتنی بر ترمینال وجود دارند که آنچنان مورد توجه قرار نمی گیرند.