wikibackup/fa/neovim.md

6.7 KiB
Raw Permalink Blame History

title description published date tags editor dateCreated
NeoVim به عنوان IDE معرفی NeoVim همراه با چگونگی به‌کارگیری NeoVim مانند IDE های محبوب true 2025-02-18T17:02:26.296Z ide, vim, neovim, ویم, nvim, نئوویم markdown 2025-02-08T12:37:50.156Z

نئوویم

معرفی

نئوویم یک انشعاب از ویم با یک سری اضافات است که در تلاش است تا توسعه پذیری و قابلیت نگهداری ویم را بهبود بخشد. نئوویم از همان نحو پیکربندی ویم پیروی می‌کند؛ بنابراین یک فایل پیکربندی مشابه را می‌توان با هر دو ویرایشگر استفاده کرد، اگرچه تفاوت‌های جزئی در جزئیات گزینه‌ها وجود دارد. اگر از ویژگی‌های اضافه شده نئوویم استفاده نشود، نئوویم تقریباً با تمام ویژگی‌های Vim سازگار است.

پروژهٔ نئوویم در سال ۲۰۱۴ و با تلاش برخی از اعضای انجمن ویم انجام شد که با استفاده از بازسازی سطح بالا، به هدف‌هایی از جمله ارائه نویسه‌ها و پلاگین‌های قدرتمندتر و همچنین ادغام بهتر با رابط‌های کاربری گرافیکی دست پیدا کنند. این پروژه نرم‌افزار آزاد است و کد منبع آن در GitHub موجود است. (مخزن در گیت‌هاب: https://github.com/neovim/neovim)

نصب

نئوویم به راحتی با دستور زیر قابل نصب است:

sudo pacman -S neovim

نئوویم با نام neovim نصب می‌شود ولی با دستور nvim می‌توان آن را اجرا نمود

تبدیل نئوویم به IDE

نئوویم به تنهایی ابزار های لازم برای توسعه‌دهندگان را ندارد، به همین دلیل با به‌کارگیری افزونه‌های موجود آن را مشابه IDE های موجود میکنیم. برای این کار دو روش پیش رو داریم.

1. کانفیگ‌های موجود

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

AstroNvim

AstroNvim یک پیکربندی نئوویم زیبا و غنی از ویژگی است که بر کارایی و توسعه‌پذیری تمرکز دارد. برای نصب آن راهنمای رسمی AstroNvim را دنبال کنید.

NVChad

NVChad یک کانفیگ محبوب برای نئوویم است که به کاربران اجازه می‌دهد تا به راحتی آن را شخصی‌سازی کنند. برای نصب آن راهنمای رسمی NVChad را دنبال کنید

2. تنظیم از صفر

برای تبدیل نئوویم به یک IDE، می‌توانید افزونه‌های لازم را خودتان یک به یک نصب کنید. این روش برای کاربرانی مناسب است که می‌خواهند تنظیمات خود را به طور کامل کنترل کنند. برای این کار نیاز به یک مدیر افزونه دارید تا دیگر افزونه های شما را مدیریت کند. یکی از محبوب ترین مدیر بسته‌های موجود lazy.nvim است.

نصب مدیر افزونه lazy.nvim:

  1. برای نصب lazy.nvim آن را با گیت دریافت کنید:
git clone https://github.com/LazyVim/starter ~/.config/nvim
  1. پس از نصب، پوشه .git را پاک کنید:
rm -rf ~/.config/nvim/.git
  1. می‌توانید آن را با دستور nvim اجرا کنید، حالا نیاز به نصب افزونه‌ها دارید. برخی از افزونه‌های پرکاربرد مانند:
    • LSP: nvim-lspconfig
    • تکمیل خودکار: nvim-cmp
    • مدیر پروژه: project.nvim
    • مدیر فایل: nvim-tree.lua

نمونه کانفیگ:

require("lazy").setup({
  {
    "folke/tokyonight.nvim", -- Theme
    lazy = false,
    priority = 1000,
    config = function()
      vim.cmd([[colorscheme tokyonight]])
    end,
  },
  "neovim/nvim-lspconfig", -- LSP
  "hrsh7th/nvim-cmp",      -- Autocompletion
  "nvim-tree/nvim-tree.lua", -- File explorer
  "mbbill/undotree",       -- Undo history
})
})

برای نصب با این روش میتوانید راهنمای رسمی lazy.nvim را دنبال کنید. {.is-info}

NeoVide

NeoVide یک رابط کاربری گرافیکی برای نئوویم است که مانند یک پایانه(Terminal) عادی عمل میکند که ویژگی‌های بیشتری برای NeoVim دارد.

ویژگی‌ها

  • Ligatures: پشتیبانی از جفت‌نویسی(ligatures) و شکل‌دهی قلم برای بهبود ظاهر کد ها.

  • Animated Cursor: پویانمایی اشاره‌گر(cursor) که موقعیت اشاره‌گر را قابل دنبال کردن‌تر می‌کند.

  • Smooth Scrolling: بالا و پایین رفتن صفحه به جای حرکت خط به خط، پیکسل به پیکسل پویانمایی می‌شود، که تجربه کاربری را روان‌تر می‌کند.

  • Blurred Floating Windows: پس‌زمینه پنجره‌های شناور با جلوه محو پس‌زمینه بهتر از صفحه اصلی جدا میشوند.

  • Emoji Support: پشتیبانی از نمایش اموجی‌ها حتی اگر قلم اصلی شامل آن‌ها نباشد

نصب:

sudo pacman -S neovide

فروشگاه افزونه

احتمالا تمام IDEهایی که تا به حال با آنها کار کرده‌اید برای نصب افزونه یک فروشگاه رسمی داشته‌اند، ولی در نئوویم چیزی به نام فروشگاه رسمی وجود ندارد، برای پیدا کردن افزونه‌ها میتوانید در اینترنت جستجو کرده و آموزش نصب هر افزونه را دنبال کنید و یا در منابع غیررسمی بگردید.اینها چند نمونه فهرست مردمی از افزونه‌های نئوویم را آورده‌ایم: