🌐 Detecting your location…
📢 Advertisement — Configure AdSense in Appearance → Customize → AdSense Settings

Neovim সম্পূর্ণ গাইড 2026: LazyVim, LSP, এবং উত্পাদনশীল কনফিগারেশন

⏱️4 min read  ·  724 words

Neovim 2026 সালে পেশাদার বিকাশকারীর পছন্দের সম্পাদক হয়ে উঠেছে। Lua-ভিত্তিক কনফিগারেশন, নেটিভ LSP সমর্থন, প্লাগইন পরিচালনার জন্য lazy.nvim এবং প্লাগইনগুলির একটি প্রাণবন্ত ইকোসিস্টেম সহ, Neovim নাটকীয়ভাবে দ্রুত এবং আরও কাস্টমাইজযোগ্য হওয়ার সাথে সাথে কার্যকারিতার জন্য VS কোডের প্রতিদ্বন্দ্বী। এই নির্দেশিকা আপনাকে শূন্য থেকে উৎপাদনশীল Neovim ব্যবহারকারীতে নিয়ে যায়।

কেন ভিএস কোডের উপর Neovim?

  • গতি— অবিলম্বে শুরু হয়, কোন 2-সেকেন্ড লোড সময়
  • কীবোর্ডের দক্ষতা— মডেল সম্পাদনা মাউস-হ্যান্ড সুইচিং বাদ দেয়
  • কাস্টমাইজেশন– লুয়াতে সবকিছু কনফিগার করুন
  • টার্মিনাল-নেটিভ– SSH এর উপর কাজ করে, ডকারে, যে কোন জায়গায়
  • সম্পদ ব্যবহার— 50MB RAM বনাম VS কোডের 500MB+

ইনস্টলেশন

# macOS
brew install neovim

# Ubuntu/Debian (add official PPA for latest)
sudo add-apt-repository ppa:neovim-ppa/unstable
sudo apt update && sudo apt install neovim

# Or build from source for latest nightly
sudo apt install cmake gettext
git clone https://github.com/neovim/neovim
cd neovim && make CMAKE_BUILD_TYPE=Release
sudo make install

# Verify
nvim --version

# Install a distribution (skip config from scratch)
# LazyVim (recommended for beginners):
git clone https://github.com/LazyVim/starter ~/.config/nvim

কোর ভিম মোশন

Normal Mode Essentials:
  hjkl          — left/down/up/right
  w/b           — forward/backward word
  e             — end of word
  0/$           — start/end of line
  gg/G          — first/last line
  Ctrl+d/u      — half page down/up
  Ctrl+f/b      — full page down/up
  %             — jump to matching bracket
  */#           — search word under cursor forward/back
  ''            — jump to last position

Editing:
  i/a           — insert before/after cursor
  I/A           — insert at start/end of line
  o/O           — new line below/above
  r             — replace character
  R             — replace mode
  cw            — change word
  C             — change to end of line
  D             — delete to end of line
  u/Ctrl+r      — undo/redo
  .             — repeat last change

Visual Mode:
  v/V/Ctrl+v    — char/line/block visual
  y/d/c         — yank/delete/change selection
  >/<           — indent/dedent

টেক্সট অবজেক্ট

Text object patterns: [operator][inner|around][object]

ci"   — change inside double quotes
ca"   — change around double quotes (includes quotes)
di{   — delete inside curly braces
da{   — delete around curly braces (includes braces)
yi(   — yank inside parentheses
yap   — yank around paragraph
cit   — change inside HTML tag
dat   — delete around HTML tag
ciw   — change inner word
daw   — delete around word (includes whitespace)
dis   — delete inner sentence

LazyVim কনফিগারেশন

-- ~/.config/nvim/lua/config/options.lua
local opt = vim.opt

-- UI
opt.number = true           -- line numbers
opt.relativenumber = true   -- relative line numbers
opt.cursorline = true       -- highlight current line
opt.signcolumn = "yes"      -- always show sign column

-- Indentation
opt.expandtab = true        -- spaces not tabs
opt.tabstop = 2
opt.shiftwidth = 2
opt.smartindent = true

-- Search
opt.ignorecase = true
opt.smartcase = true        -- case-sensitive if uppercase used
opt.hlsearch = false        -- no persistent highlight after search

-- Splits
opt.splitright = true       -- vertical splits go right
opt.splitbelow = true       -- horizontal splits go below

-- Performance
opt.updatetime = 200
opt.timeoutlen = 300        -- faster key combo detection

কী প্লাগইন (lazy.nvim)

-- ~/.config/nvim/lua/plugins/essential.lua
return {
  -- Fuzzy finder
  {
    "nvim-telescope/telescope.nvim",
    dependencies = { "nvim-lua/plenary.nvim" },
    keys = {
      { "<leader>ff", "<cmd>Telescope find_files<cr>", desc = "Find files" },
      { "<leader>fg", "<cmd>Telescope live_grep<cr>",  desc = "Live grep" },
      { "<leader>fb", "<cmd>Telescope buffers<cr>",    desc = "Buffers" },
      { "<leader>fr", "<cmd>Telescope oldfiles<cr>",   desc = "Recent files" },
    },
  },

  -- File tree
  {
    "nvim-neo-tree/neo-tree.nvim",
    keys = { { "<leader>e", "<cmd>Neotree toggle<cr>", desc = "File tree" } },
  },

  -- LSP
  {
    "neovim/nvim-lspconfig",
    config = function()
      local lspconfig = require("lspconfig")
      -- Python
      lspconfig.pyright.setup({})
      -- TypeScript
      lspconfig.tsserver.setup({})
      -- Rust
      lspconfig.rust_analyzer.setup({})
      -- Go
      lspconfig.gopls.setup({})
    end,
  },

  -- Completion
  {
    "hrsh7th/nvim-cmp",
    dependencies = {
      "hrsh7th/cmp-nvim-lsp",
      "hrsh7th/cmp-buffer",
      "hrsh7th/cmp-path",
      "L3MON4D3/LuaSnip",
    },
  },

  -- Syntax highlighting
  { "nvim-treesitter/nvim-treesitter", build = ":TSUpdate" },

  -- Git
  { "lewis6991/gitsigns.nvim" },
  { "kdheepak/lazygit.nvim",
    keys = { { "<leader>gg", "<cmd>LazyGit<cr>", desc = "LazyGit" } },
  },

  -- Formatting
  { "stevearc/conform.nvim",
    config = function()
      require("conform").setup({
        formatters_by_ft = {
          python = { "ruff_format" },
          javascript = { "prettier" },
          typescript = { "prettier" },
          rust = { "rustfmt" },
        },
        format_on_save = { timeout_ms = 500 },
      })
    end,
  },
}

অপরিহার্য কীম্যাপ

LazyVim Default (and common custom) keymaps:

Leader key = Space

<leader>ff  — find files (Telescope)
<leader>fg  — grep in files
<leader>e   — file explorer
<leader>gg  — LazyGit
<leader>ca  — code action (LSP)
<leader>rn  — rename symbol (LSP)
gd          — go to definition
gr          — go to references
K           — hover documentation
<leader>l   — LSP info
<leader>/   — comment line
<leader>bd  — close buffer
<leader>bn  — next buffer
<C-h/j/k/l> — navigate splits
:w          — save
:q          — quit
:wq         — save and quit
ZZ          — save and quit (normal mode)

LazyVim-এর সাথে 2026 সালে Neovim নাটকীয়ভাবে দ্রুত এবং টার্মিনাল-নেটিভ হওয়ার সাথে সাথে সম্পূর্ণ IDE কার্যকারিতার জন্য VS কোডের সাথে সত্যিকারের প্রতিযোগিতামূলক। প্রথমে মূল গতি (hjkl, w/b/e, c/d/y + পাঠ্য বস্তু) শিখুন — এগুলি 90% দক্ষতা দেয়। একটি বিশাল কনফিগারেশন দিয়ে শুরু করার পরিবর্তে ক্রমবর্ধমানভাবে প্লাগইন যোগ করুন।

✍️ Leave a Comment

Your email address will not be published. Required fields are marked *

🌐 Read in:🇬🇧 English🇩🇪 Deutsch🇧🇷 Português🇸🇦 العربية🇮🇳 हिन्दी🇧🇩 বাংলা