From 52df31cb3f87fbd74ad630974974b11c1a89e30b Mon Sep 17 00:00:00 2001 From: Moein Halvaei <50274938+mo1ein@users.noreply.github.com> Date: Thu, 14 Dec 2023 18:35:55 +0330 Subject: [vim/fa-ir] Initial translation to Persian (farsi) (#4143) * Add Learnvim for fa-ir * Fix: snippets bug * Translate new things * Translate new things * Translate more and fix typos * Finish vim-fa translate =) --- fa-ir/vim-fa.html.markdown | 469 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 469 insertions(+) create mode 100644 fa-ir/vim-fa.html.markdown (limited to 'fa-ir') diff --git a/fa-ir/vim-fa.html.markdown b/fa-ir/vim-fa.html.markdown new file mode 100644 index 00000000..f1864619 --- /dev/null +++ b/fa-ir/vim-fa.html.markdown @@ -0,0 +1,469 @@ +--- +category: tool +tool: vim +contributors: + - ["RadhikaG", "https://github.com/RadhikaG"] +translators: + - ["Moein Halvaei", "https://github.com/mo1ein"] +lang: fa-ir +filename: LearnVim-fa.txt +--- + +

+[Vim](http://www.vim.org) (Vi رشدیافته) یک کلون از ادیتور مشهور vi است برای unix. ادیتورمتنی‌ست که برای سرعت و افزایش بهره‌وری طراحی شده‌ و در همه جا به ویژه در سیستم های unix-based دیده می‌شود. شورتکات کلید های بی‌شماری برای سرعت جهت‌یابی به نقاط ویژه‌ي فایل ها و تغییر سریع، دارد. +
+`vimtutor` یک برنامه‌ي عالیست که به شما چگونگی استفاده از `vim` را آموزش می‌دهد. +این به همراه پکیج های vim هنگام نصب کردن، نصب می‌شود. شما باید بتوانید با ران کردن `vimtutor` در کامندلاین از آموزش ها استفاده کنید. این همه‌ی ویژگی های عمده‌ی `vim` را به شما راهنمایی می‌کند. +

+

+

+مکان‌یابی اولیه vim +

+

+ + +

+باز کردن `` در ویم +

+ +``` +vim # Open in vim +``` +

+باز کردن help docs های `` اگر وجود داشته باشد +

+ +``` +:help # Open up built-in help docs about if any exists +``` +``` +:q # خروج از ویم + +:w # ذخیره کردن فایل فعلی + +:wq # ذخیره کردن و خارج شدن از ویم + +ZZ # ذخیره کردن و خارج شدن از ویم + +:q! # خارج شدن بدون ذخیره کردن فایل + +! *forces* :q to execute, hence quiting vim without saving + +ZQ # خارج شدن بدون ذخیره کردن فایل +``` + +

ذخیره کردن و خارج شدن از vim ورژن خلاصه شده‌ی wq:

+ +``` +:x # Save file and quit vim, shorter version of :wq +``` + +

برگشت به عقب

+ +``` + u # Undo +``` + +

رفتن به جلو

+ +``` +CTRL+R # Redo +``` + +

راه رفتن در صفحه

+ +``` +h # رفتن یک کاراکتر به چپ + +j # رفتن یک کاراکتر به پایین + +k # رفتن یک کاراکتر به بالا + +l # رفتن یک کاراکتر به راست + +Ctrl+B # جابه‌جا شدن به عقب به اندازه یک صفحه + +Ctrl+F # جابه‌جا شدن به جلو به اندازه یک صفحه + +Ctrl+D # جابه‌جا شدن به جلو به اندازه نصف صفحه + +Ctrl+U # جابه‌جا شدن به عقب به اندازه نصف صفحه +``` + +

جابه‌جا شدن در خط

+ +``` +0 # رفتن به اول خط +$ # رفتن به آخر خط +^ # رفتن به اولین کاراکتر غیرخالی در خط +``` + +

جست و جو در متن

+ +``` +/word # هایلایت کردن همه‌ی کلمه های بعد کِرسر + +?word # هایلایت کردن همه‌ی کلمه های قبل کِرسر + +n # جابه‌جایی کِرسر به کلمه های بعدی پیدا شده + +N # جابه‌جایی کِرسر به کلمه های قبلی پیدا شده +``` + +

عوض کردن 'foo' به 'bar' در هر خط از فایل

+ +``` +:%s/foo/bar/g # Change 'foo' to 'bar' on every line in the file +``` + +

عوض کردن 'foo' به 'bar' در خط فعلی

+ +``` +:s/foo/bar/g # Change 'foo' to 'bar' on the current line +``` + +

جایگزینی کاراکتر های خط جدید با کاراکتر های خط جدید

+ +``` +:%s/\n/\r/g # Replace new line characters with new line characters +``` + +

پرش به کاراکتر ها

+

پرش به جلو و قرار گرفتن روی کاراکتر مورد نظر

+ +``` +f # Jump forward and land on +``` + +

پرش به جلو و قرار گرفتن قبل کاراکتر مورد نظر

+ +``` +t # Jump forward and land right before +``` + +

برای مثال:

+ +

پرش به جلو و قرار گرفتن روی >

+ +``` +f< # Jump forward and land on < +``` + +

پرش به جلو و قرار گرفتن قبل از >

+ +``` +t< # Jump forward and land right before < +``` +

جابه‌جا شدن با کلمه ها

+ +``` +w # رفتن به جلو به اندازه‌ی یک کلمه +b # رفتن به عقب به اندازه‌ی یک کلم +e # رفتن به آخر کلمه‌ی فعلی +``` +

سایر کاراکتر ها برای جابه‌جایی

+

رفتن به اول فایل

+ +``` +gg # Go to the top of the file +``` +

رفتن به آخر فایل

+ +``` +G # Go to the bottom of the file +``` +

رفتن به شماره‌ی خط مورد نظر (NUM شماره است)

+ +``` +:NUM # Go to line number NUM (NUM is any number) +``` +

رفتن به اول صفحه

+ +``` +H # Move to the top of the screen +``` +

رفتن به وسط صفحه

+ +``` +M # Move to the middle of the screen +``` +

رفتن به آخر صفحه

+ +``` +L # Move to the bottom of the screen +``` + +

+

+داک های help +

+

+ +

+Vim دارای یک help doc داخلی است که می‌توان با help: به آن دسترسی داشت. برای مثال help navigation: داک مربوط به مکان‌یابی در فضای کار را به شما نشان می‌دهد!

+help: همچنین می‌تواند بدون option مورد استفاده قرار گیرد. +این یه صورت یک help پیش‌فرض بالا می‌آید که شروع vim را قابل دسترس تر می‌کند! +

+ +

+

Modes:

+

+ +
+Vim بر پایه‌ی مفهومی‌ست به نام modes +

+
    +
  • + Command Mode - ویم در این حالت بالا می‌آید،‌ برای مکان‌یابی و نوشتن دستورات استفاده می‌شود +
  • +
  • + Insert Mode - برای ایجاد تغییر در فایل شما استفاده می‌شود +
  • +
  • + Visual Mode - برای هایلایت کردن متن و انجام عملی روی آن ها استفاده می‌شود +
  • +
  • + Ex Mode - برای وارد کردن دستورات توسط ":" در قسمت پایین استفاده می‌شود +
  • +
+
+
+ +

رفتن به حالت insert, پیش از جایگاه cursor

+ +``` +i # Puts vim into insert mode, before the cursor position +``` +

رفتن به حالت insert, پس از جایگاه cursor

+ +``` +a # Puts vim into insert mode, after the cursor position +``` + +

رفتن به حالت visual

+ +``` +v # Puts vim into visual mode +``` +

رفتن به حالت ex

+ +``` +: # Puts vim into ex mode +``` +

خروج از همه‌ی حالت ها و رفتن به حالت command

+ +``` + # 'Escapes' from whichever mode you're in, into Command mode +``` +

کپی و پیست در متن

+ +``` +y # کپی کردن متن انتخاب شده + +yy # کپی کردن خط فعلی + +d # حذف کردن متن انتخاب شده + +dd # حذف کردن خط فعلی + +p # پیست کردن متن کپی شده پس از جایگاه فعلی کِرسر + +P # پیست کردن متن کپی شده پیش از جایگاه فعلی کِرسر + +x # حذف کردن یک کاراکتر از جایگاه کِرسر +``` + +

+

گرامر (Grammer)

+

+ +
+Vim را می توان به عنوان مجموعه ای از دستورات در قالب (Verb - Modifier - Noun) تصور کرد ، جایی که: +

+
    +
  • + Verb - عمل شما +
  • +
  • + Modifier - چگونگی انجام عمل شما +
  • +
  • + Noun - شیئی که عمل شما بر اساس آن عمل می کند +
  • +
+اندکی از مثال های مهم Verbs ,Modifiers, Nouns: +

+
+ +

فعل ها (Verbs)

+ +``` +d # حذف +c # تغییر +y # کپی +v # انتخاب +``` +

تغییردهنده ها (Modifiers)

+ +``` +i # داخل +a # اطراف +NUM # شماره (NUM هر شماره‌ای است) +f # جست و جو کردن چیزی و متوقف شدن روی آن +t # جست و جو کردن چیزی و متوقف شدن قبل از آن +/ # جست و جو کردن رشته‌ای پس از کِرسر +? # جست و جو کردن رشته‌ای پیش از کِرسر +``` +

اسم ها (Nouns)

+ +``` +w # کلمه +s # جمله +p # پاراگراف +b # بلوک +``` +

جمله ها و کامند های نمونه

+ +``` +d2w # حذف دو کلمه +cis # تغییر داخل جمله +yip # کپی داخل پاراگراف (از پاراگرافی که داخل آن هستید کپی کنید) +ct< # متن را از جایی که قرار دارید به براکت باز بعدی تغییر دهید +d$ # حذف تا پایان +``` + +

+

بعضی از شورتکات ها و ترفند ها

+

+ +``` + + +> # ایجاد دندانه به اندازه یک بلوک + +< # حذف دندانه به اندازه یک بلوک + +:earlier 15m # برگرداندن همه چیز به ۱۵ دقیقه قبل + +:later 15m # برعکس کامند قبلی + +ddp # تغییر مکان خطوط متوالی(dd, then p) + +. # تکرار دستور قبلی + +:w !sudo tee % # ذخیره کردن فایل فعلی به عنوان روت + +:set syntax=c # تنظیم سینتکس هایلایتینگ روی 'c' + +:sort # مرتب کردن همه‌ی خطوط + +:sort! # مرتب کردن همه‌ی خطوط به صورت برعکس + +:sort u # مرتب کردن همه‌ی خطوط و پاک کردن تکراری ها + +~ # تبدیل متن انتخاب شده به حروف (اگر بزرگ است، کوچک و اگر کوچک است، بزرگ) + +u # تبدیل متن انتخاب شده به حروف کوچک + +U # تبدیل متن انتخاب شده به حروف بزرگ + +J # اتصال خط فعلی به خط بعدی +``` +

+

+فولد (Fold) +

+

+ +``` +zf # ایجاد فولد برای متن انتخاب شده +zo # باز کردن فولد فعلی +zc # بستن فولد فعلی +zR # باز کردن همه‌ی فولد ها +zM # بستن همه‌ی فولد ها +``` + +

+

+ماکرو ها (Macros) +

+

+ +

+ماکرو ها اساسا عمل های قابل ضبط هستند. زمانی که شما شروع می‌کنید به ضبط ماکرو، هر عمل و دستوری را که استفاده می‌کنید، تا زمانی که ضبط را متوقف کنید، ضبط می‌شود. با فراخوانی ماکرو، دقیقاً همان توالی اعمال و دستورات، دوباره روی متن انتخاب شده اعمال می‌شود. +

+ +``` +qa # Start recording a macro named 'a' +q # Stop recording +@a # Play back the macro +``` +

+

+کانفیگ vimrc./~ +

+

+ +

+vimrc. فایلی‌ست که استفاده می‌شود برای کانفیگ vim هنگام بالا آمدن +
+این‌جا یک نمونه‌ فایل vimrc. آورده شده: +

+ +``` +" Example ~/.vimrc +" 2015.10 + +" Required for vim to be iMproved +set nocompatible + +" Determines filetype from name to allow intelligent auto-indenting, etc. +filetype indent plugin on + +" Enable syntax highlighting +syntax on + +" Better command-line completion +set wildmenu + +" Use case insensitive search except when using capital letters +set ignorecase +set smartcase + +" When opening a new line and no file-specific indenting is enabled, +" keep same indent as the line you're currently on +set autoindent + +" Display line numbers on the left +set number + +" Indentation options, change according to personal preference + +" Number of visual spaces per TAB +set tabstop=4 + +" Number of spaces in TAB when editing +set softtabstop=4 + +" Number of spaces indented when reindent operations (>> and <<) are used +set shiftwidth=4 +" Convert TABs to spaces +set expandtab + +" Enable intelligent tabbing and spacing for indentation and alignment +set smarttab +``` + +

+

رفرنس ها

+

+ +[Vim | Home](http://www.vim.org/index.php) + +`$ vimtutor` + +[A vim Tutorial and Primer](https://danielmiessler.com/study/vim/) + +[What are the dark corners of Vim your mom never told you about? (St + +[Arch Linux Wiki](https://wiki.archlinux.org/index.php/Vim) -- cgit v1.2.3