انجمن‌های فارسی اوبونتو

جامعه کاربران => معرفی نرم‌افزار => نویسنده: سالار مقدم در 11 تیر 1392، 01:46 ب‌ظ

عنوان: آموزش کار با ویرایشگر Vim
ارسال شده توسط: سالار مقدم در 11 تیر 1392، 01:46 ب‌ظ
سلام دوستان
همانطور که میدانید ما دو ویرایشگر فوق العاده در گنو/لینوکس (و تاحدودی دیگر سیستم عامل ها) به نام های Vim و Emacs داریم. دیدم که تایپیک آموزشی در مورد Vim وجود نداره برای همین قصد دارم تا جایی که در توانم هست در اینجا به آموزش Vim بپردازم
خوب اول یک عکس از این ویرایشگر می گذارم:


(http://upload.wikimedia.org/wikipedia/commons/thumb/8/8c/Vim-%28logiciel%29-console.png/800px-Vim-%28logiciel%29-console.png)


Vim چیست؟ Vim یک نرم افزار فوق العاده قدرتمند ویرایشگر متن است که در سال ۱۹۹۱ توسط  Bram Moolenaar در ابتدا برای بی اس دی ها (با تشکر از محمدرضا ح) نوشته شد و سپس به دیگر سیستم عامل ها از جمله گنو/لینوکس پورت شد. این ویرایشگر هم دارای محیط گارفیکی است و هم می تواند در ترمینال اجرا شود که البته بیشتر در ترمینال محبوب است.یکی از محیط های گرافیکی محبوب این ویرایشگر gvim است که امکانات سربرگ و ... را در اختیار کاربر قرار می دهد.
در این تایپیک بیشتر تمرکزمان را در اجرای این ویرایشگر در ترمینال می گذاریم.برای اجرای این ویرایشگر در ترمینال از دستور:

vi [OPTIONS] FileٔName
استفاده می کنیم.
نکته:در صورت وجود فایل،فایل باز می شود و در صورت عدم وجود فایل، فایل ساخته میشود.
برای مثال ما میخواهیم یک فایل به نام test در پوشه ی خانگی خودمان بسازیم:

vi test
با اجرای دستور فوق:


(http://axgig.com/images/24202726777119451283.png)


حالا ما در ویرایشگر ویم در حال ویرایش فایل test هستیم،چرا عصبی شدید؟چیزی نمیتوانید بنویسید؟صبر کنید، ما برای همین اینجا هستیم :)
ویم دارای سه حالت است:
۱-حالت فرمان(Command Mod) : حالت کامند مود اولین حالتی است که بعد از باز کردن فایل با آن مواجه میشوید.در این حالت شما می توانید به وارد کرد دستورات خاصی بپردازید و در جهت بهبود ویرایش خود پیش روید
۲-حالت درج (Insert Mod) : در این حالت میتوانید متن داخل فایل مورد نظر را ویرایش کنید
۳-حالت اجرا (execute mode) : در این حالت میتوانید فرامین سیستم عامل گنو/لینوکس را به اجرا در آورید

چگونگی اجرای فرمان ها در حالت فرمان: ابتدا کارکتر : را می نویسید و سپس دستور مورد نظر و اینتر. به عنوان مثال:

:set nu
با اجرای دستور فوق می توانید شماره ی هر خط را ببینید


(http://axgig.com/images/84959196405059718367.png)


تعدادی از میانبر ها برای حرکت cursor در Vim: در حقیقت ویم برای کیبرد های قدیمی طراحی شده بود که دارای کلید های حرکتی نبودند، شما ضمن اینکه میتوانید از کلید های حرکتی برای حرکت در فایل استفاده کنید می توانید از کلید های زیر هم در حالت فرمان استفاده کنید:
۱- حرف h برای حرکت به سمت چپ
۲- حرف j برای حرکت به سمت پایین
۳- حرف k برای حرکت به سمت بالا
۴- حرف l برای حرکت به راست

همچنین به جای PgUp از Ctrl + b و به جای PgDown می تونید از Ctrl + f استفاده کنید.

تغییر خط در صورت دانستن شماره ی خط: برای این کار شما می توانید از فرمان G استفاده کنید، در حالت عادی این فرمان به آخرین خط میرود. به عنوان مثال ما میخوایم به خط ۱۴۲ بریم:

:142G
سپس مشاهده می کنید که در خط ۱۴۲ هستید!
نکته: مانند خط فرمان لینوکس، ویم هم به بزرگی کوچیکی حروف حساسه

حذف کارکتر ها در حالت فرمان:
۱- فرمان x با توجه به مکان فعلی cursor کارکتر مورد نظر را پاک می کند.
۲- فرمان dw واژه ی جاری را حذف می کند
۳- فرمان dd خط جاری را حذف می کند
نکته: در صورت حذف اشتباهی یک متن می توانید با دکمه ی u آن را باز گردانی کنید.

فرمان جست و جوی متن:
برای جست و جو در متن باید ابتدا / را درج کرده سپس کلمه ی مورد نظر را بنویسیم. به عنوان مثال ما میخوایم کلمه ی error را در متن جست و جو کنیم:

/error
میبینید که کلمات error همگی هایلایت شده اند!
نکته۱: با زدن دکمه ی n می توانید به واژه ی هایلایت بعدی بروید
نکته۲: همچنان ویم به حروف بزرگ و کوچک حساس است! در نتیجه error با Error بسیار متفاوت است.
نکته۳: با زدن دستور quit: می توانید از Vim خارج شوید

ورود به حالت درج:
۱- با استفاده از کلید i به معنای Insert می توانید به موقعیت فعلی مکان نما بروید و شروع به نوشتار کنید(در واقع قبل از مکان نما)
۲- با استفاده از کلید a به معنای append می توانید بعد از مکان نما اقدام به نوشتار کنید
۳- با استفاده از کلید o به معنای open شما را به خط بعد هدایت می کند
نکته: برای خروج از حالت درج از Esc استفاده کنید

ورود به حالت اجرا:
برای اینکار کافیست دو کارکتر !: را وارد کنید تا بتونید کامند های گنو/لینوکس را اجرا کنید برای مثال اجرای دستور ls -la

!:ls -la
میبینید که خروجی دستور مورد نظر روی صفحه به نمایش درامد!

در نهایت برای ذخیره ی تغییرات از w: و برای خروج و ذخیره نوشته از فرمان :q و برای خروج بدون ذخیره از q!: استفاده کنید

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

لطفا با پست های ترول آمیزی چون ایمکس بهتر است، ویم بهتر است. تایپیک را منحرف نکنید
عنوان: پاسخ : آموزش کار با ویرایشگر Vim
ارسال شده توسط: ! در 12 تیر 1392، 10:10 ق‌ظ
مرسی بابت مطلب عالی ، بس حض کردیم:)

یک سوال :

اونوقت این vim editor فرقش با vi editor چیه؟ (اونی که پایینه سایته www.unix.org نوشته شده)
عنوان: پاسخ : آموزش کار با ویرایشگر Vim
ارسال شده توسط: سالار مقدم در 12 تیر 1392، 11:16 ق‌ظ
مرسی بابت مطلب عالی ، بس حض کردیم:)

یک سوال :

اونوقت این vim editor فرقش با vi editor چیه؟ (اونی که پایینه سایته www.unix.org نوشته شده)
اون هم یک ادیتور بوده که آقای Bram Moolenaar اون رو برای ادیتور خودش (ویم) بیس قرار داده، به عبارت دیگر وی ، بیس ویم بوده. الان فکر نکنم دیگه کسی از اون استفاده کنه
عنوان: پاسخ : آموزش کار با ویرایشگر Vim
ارسال شده توسط: MHA152 در 19 تیر 1392، 05:05 ب‌ظ
مرسی بابت مطلب عالی ، بس حض کردیم:)

یک سوال :

اونوقت این vim editor فرقش با vi editor چیه؟ (اونی که پایینه سایته www.unix.org نوشته شده)
اون هم یک ادیتور بوده که آقای Bram Moolenaar اون رو برای ادیتور خودش (ویم) بیس قرار داده، به عبارت دیگر وی ، بیس ویم بوده. الان فکر نکنم دیگه کسی از اون استفاده کنه
توی قدرت هاشون با هم متفاوتند؟vim چقدر از vi قوی تره
عنوان: پاسخ : آموزش کار با ویرایشگر Vim
ارسال شده توسط: سالار مقدم در 19 تیر 1392، 05:22 ب‌ظ
مرسی بابت مطلب عالی ، بس حض کردیم:)

یک سوال :

اونوقت این vim editor فرقش با vi editor چیه؟ (اونی که پایینه سایته www.unix.org نوشته شده)
اون هم یک ادیتور بوده که آقای Bram Moolenaar اون رو برای ادیتور خودش (ویم) بیس قرار داده، به عبارت دیگر وی ، بیس ویم بوده. الان فکر نکنم دیگه کسی از اون استفاده کنه
توی قدرت هاشون با هم متفاوتند؟vim چقدر از vi قوی تره
وی که خیلی قدیمیه ... مشخصا ویم خیلی قوی تر و دارای کامند های بشتریه.
عنوان: پاسخ : آموزش کار با ویرایشگر Vim
ارسال شده توسط: MohammadH در 19 تیر 1392، 08:08 ب‌ظ
خب این مطلب خوبه ولی در مورد تاریخچش حرف نمیزدید سنگین تر بودید. vi در سال ۱۹۷۶ برای BSDهای اولیه بوجود اومده بود. ولی vim نسخه تقویت شده دهه نودی این ادیتور هست و تقریبا الان هیچ تفاوتی بین این دو نیست
عنوان: پاسخ : آموزش کار با ویرایشگر Vim
ارسال شده توسط: سالار مقدم در 19 تیر 1392، 09:17 ب‌ظ
خب این مطلب خوبه ولی در مورد تاریخچش حرف نمیزدید سنگین تر بودید. vi در سال ۱۹۷۶ برای BSDهای اولیه بوجود اومده بود. ولی vim نسخه تقویت شده دهه نودی این ادیتور هست و تقریبا الان هیچ تفاوتی بین این دو نیست
نقل قول از ویکیپدیا:
نقل‌قول
Vim is a text editor written by Bram Moolenaar and first released publicly in 1991
عنوان: پاسخ : آموزش کار با ویرایشگر Vim
ارسال شده توسط: B در 19 تیر 1392، 09:27 ب‌ظ
خب این مطلب خوبه ولی در مورد تاریخچش حرف نمیزدید سنگین تر بودید. vi در سال ۱۹۷۶ برای BSDهای اولیه بوجود اومده بود. ولی vim نسخه تقویت شده دهه نودی این ادیتور هست و تقریبا الان هیچ تفاوتی بین این دو نیست

من هم این رو در کتابی خوندم؛

اما قضیه اینه که این مربوط میشه به vi
The original code for vi was written by Bill Joy in 1976,

و vim بر اساس vi به وجود اومده در سال 1991 ؛

الان تقریبا کسی از vi استفاده نمیکنه؛ اگه هم در سیستمتون از vi استفاده میکنید؛ احتمال خیلی زیاد همون alias شده از vim هست!!
عنوان: پاسخ : آموزش کار با ویرایشگر Vim
ارسال شده توسط: albert در 16 تیر 1393، 01:48 ب‌ظ
با سلام آقای مقدم در تصویری که از vim گذاشته اید . خاصیت code folding را استفاده کرده اید . آیا امکان دارد که در مورد code folding در vim راهنمایی فرمایید.
عنوان: پاسخ : آموزش کار با ویرایشگر Vim
ارسال شده توسط: امیر آهنگری در 31 امرداد 1393، 03:47 ب‌ظ
سلام
این سایته http://www.openvim.com/ (http://www.openvim.com/) واسه آموزش vim خیلی خوبه. سایتش اینتراکتیوه. یه سری بزنین ضرر نمی کنین.
عنوان: پاسخ : آموزش کار با ویرایشگر Vim
ارسال شده توسط: دانیال بهزادی در 01 شهریور 1393، 10:45 ب‌ظ
مرسی سالار. خیلی خوبه، ادامه بده (:
البته یه حالت بصری (visual mode) هم داریم که با دکمه‌ی v به اون حالت می‌ره.
برای بالا و پایین کردن صفحه هم کلید‌های ctrl-u و ctrl-d هم روون‌تر بالا و پایین می‌کنن، هم با up و down سنخیت دارن و در یاد می‌مونن
عنوان: پاسخ : آموزش کار با ویرایشگر Vim
ارسال شده توسط: afrod در 01 شهریور 1393، 11:46 ب‌ظ
If you are a developer or sysad... Learn Vim (the other text editor). It's okay learn the basics so that you can easily work on other people's computers. If you know your way around Vim, people won't give you as much grief over Emacs
...
Okay. Once you know the basics of Vim, you can get on with learning Emacs
منبع (http://sachachua.com/blog/2013/05/how-to-learn-emacs-a-hand-drawn-one-pager-for-beginners/)
من  نفهمیدمش، اگر متوجه شدید، به من هم بگید که چرا قبل از ایمکس، ویم یاد بگیریم!!
عنوان: پاسخ : آموزش کار با ویرایشگر Vim
ارسال شده توسط: mohsen-rashidi در 02 شهریور 1393، 07:15 ق‌ظ
خوب Vi/Vim جزو استاندارد پوزیکسِ. و به این معناست که محاله پشت یه سیستم یونیکسی بشینید Vi نداشته باشه.
اون مقاله هم میگه vim رو حتما یاد بگیرید که اگر روزی پشت یه سیستم دیگه نشسستید و احتیاج به ادیتور داشتید و ادیتور محبوبتون و یا حتی هیچ ادیتور دیگه ایی نصب نبود،‌کارتون لنگ نمونه.
عنوان: پاسخ : آموزش کار با ویرایشگر Vim
ارسال شده توسط: persianboy1993 در 16 تیر 1397، 01:48 ق‌ظ
آقای صمیمی هم تو این لینک آموزش خوبی از این ادیتور قرار دادند

https://amirsamimi.ir/vim/

عنوان: پاسخ : آموزش کار با ویرایشگر Vim
ارسال شده توسط: Silvio Dante در 16 تیر 1397، 10:52 ب‌ظ
آقای صمیمی هم تو این لینک آموزش خوبی از این ادیتور قرار دادند

https://amirsamimi.ir/vim/
این تایپک مال خیلی وقت پیشه و احتمالا اون موقع آقای امیرصمیمی این آموزش رو منتشر نکرده بودن.

پ.ن: قبل از پاسخ به تایپک به تاریخش نگاه کنید.