📋 محتويات الصفحة
📖 الوصف
Neovim هو إعادة بناء جذرية لـVim بهدف تحسين قابلية التوسع والصيانة. مبني على بنية جديدة تدعم Lua كبديل لـVimscript، مع معمارية أحدث (async, events, job control). يوفر تجربة أقوى بكثير من Vim مع الحفاظ على التوافق الكامل مع إعدادات Vim. Neovim أصبح الخيار الأول للمطورين الذين يريدون محرر Modal قوي م...
🎯 يستخدم في
مجالات استخدام هذه الأداة
بناء بيئة تطوير مخصصة بالكامل (Personal IDE)
البرمجة باستخدام LSP وTreesitter
التحرير في الخوادم والأنظمة البعيدة
العمل بكفاءة عالية مع Modal Editing
بناء أدوات ومحررات مخصصة لفرق التطوير
المهام التي تحتاج تخصيصاً عميقاً
✨ المميزات
أبرز مميزات هذه الأداة
Lua API - لغة أسهل وأسرع من Vimscript
Treesitter - تحليل دقيق للكود (Syntax highlighting متقدم)
LSP مدمج - دعم لغات كامل بدون إضافات خارجية
Async / Job Control - لا يتجمد أثناء العمليات
Plugin API قوي - نظام إضافات متطور
Float Windows - نوافذ عائمة للإشعارات والقوائم
متعدد المنصات: طرفية + GUIs (Neovide
VimR)
متوافق مع Vim - كل إعداداتك تعمل
⚠️ العيوب
نقاط يجب مراعاتها
إعداد Lua قد يكون معقداً في البداية
يحتاج وقتاً لبناء بيئة عمل كاملة (Customization)
منحنى تعلم حاد لـModal + Lua + LSP
بعض إضافات Vim لا تعمل بدون تعديلات
تحديثات سريعة قد تكسر الإضافات أحياناً
ليس جاهزاً للاستخدام المبدئي - يحتاج تخصيص
🔄 البدائل
أدوات بديلة يمكنك استخدامها
💻 مثال على الاستخدام
كيفية استخدام هذه الأداة
-- init.lua - إعداد أساسي لـNeovim
-- إعدادات عامة
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.tabstop = 2
vim.opt.shiftwidth = 2
vim.opt.expandtab = true
vim.opt.termguicolors = true
vim.opt.cursorline = true
vim.opt.signcolumn = "yes"
-- Lazy.nvim (Plugin Manager)
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git", "clone", "--filter=blob:none",
"https://github.com/folke/lazy.nvim.git", lazypath
})
end
vim.opt.rtp:prepend(lazypath)
-- إعداد الإضافات
require("lazy").setup({
-- الألوان
{ "catppuccin/nvim", name = "catppuccin", priority = 1000 },
-- File Explorer
{ "nvim-neo-tree/neo-tree.nvim", dependencies = { "nvim-lua/plenary.nvim" } },
-- Fuzzy Finder
{ "nvim-telescope/telescope.nvim", dependencies = { "nvim-lua/plenary.nvim" } },
-- LSP
{ "neovim/nvim-lspconfig" },
{ "hrsh7th/nvim-cmp" }, -- Autocompletion
-- Treesitter
{ "nvim-treesitter/nvim-treesitter", build = ":TSUpdate" },
})
-- LSP Setup
local lsp = require('lspconfig')
lsp.tsserver.setup({})
lsp.tailwindcss.setup({})
📚 أدوات أخرى في Editors
قد يعجبك أيضاً
Cursor
⭐محرر أكواد مدعوم بالذكاء الاصطناعي (AI-Powered Code Editor)
Helix
محرر نصوص Modal حديث مبني بـRust (Modern Post-Modal Code Editor)
Nova
محرر أكواد أصلي لنظام macOS (Native macOS Code Editor)
Sublime Text
⭐محرر أكواد خفيف وسريع (Lightweight Code Editor)
Vim
⭐محرر نصوص على نمط Modal (Modal Text Editor) - يعمل في الطرفية
VS Code
⭐محرر أكواد (Code Editor) - مفتوح المصدر من Microsoft