先把 Neovim 裝起來

如果你只是想先開始用,不需要一口氣把整套插件架好。先確保 Neovim 能正常啟動、能讀到設定檔,就已經成功一半了。

安裝方式

常見安裝方式有幾種:

  • macOSbrew install neovim
  • Ubuntu / Debian:使用套件管理器安裝,或直接抓官方 release
  • Arch Linuxpacman -S neovim
  • 其他平台:也可以直接下載 Neovim 官方發佈版

安裝完先確認版本:

nvim --version

如果能看到版本資訊,代表基本安裝沒問題。

第一個設定檔

Neovim 的主要設定檔通常是:

~/.config/nvim/init.lua

你可以先建立這個檔案,從最小可用設定開始,不必一次寫很多東西。

最小設定範例

vim.g.mapleader = " "
 
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.mouse = "a"
vim.opt.clipboard = "unnamedplus"
vim.opt.termguicolors = true
vim.opt.expandtab = true
vim.opt.shiftwidth = 2
vim.opt.tabstop = 2
vim.opt.smartindent = true
vim.opt.wrap = false
vim.opt.undofile = true

這些設定的目的很單純:

  • number / relativenumber:更容易定位行號
  • mouse = “a”:需要時可以先用滑鼠輔助
  • clipboard:方便和系統剪貼簿互通
  • termguicolors:讓顏色主題顯示正常
  • indent 設定:維持一致縮排
  • undofile:關掉編輯器後還能保留復原歷史

一個完整但簡單的 init.lua

如果你想要能直接開始用,可以先從這份版本出發:

vim.g.mapleader = " "
 
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.mouse = "a"
vim.opt.clipboard = "unnamedplus"
vim.opt.termguicolors = true
vim.opt.expandtab = true
vim.opt.shiftwidth = 2
vim.opt.tabstop = 2
vim.opt.smartindent = true
vim.opt.wrap = false
vim.opt.undofile = true
vim.opt.signcolumn = "yes"
vim.opt.splitright = true
vim.opt.splitbelow = true
 
vim.keymap.set("n", "<leader>w", ":w<CR>", { desc = "Save file" })
vim.keymap.set("n", "<leader>q", ":q<CR>", { desc = "Quit window" })
vim.keymap.set("n", "<Esc>", "<cmd>nohlsearch<CR>")

這份設定的重點是:

  • 保留最基本、最常用的編輯體驗
  • 先有容易記的快捷鍵
  • 不依賴任何插件也能開始工作

最基本的 plugin manager

等你確認 Neovim 可以穩定啟動之後,再加 plugin manager 會比較順。

現在很多人會選 lazy.nvim,因為它設定簡單、速度也不錯。

安裝 lazy.nvim

先把它放進標準路徑:

mkdir -p ~/.local/share/nvim/lazy
cd ~/.local/share/nvim/lazy
git clone https://github.com/folke/lazy.nvim.git

init.lua 裡載入

vim.g.mapleader = " "
 
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({
  -- 先把插件放這裡,之後再慢慢加
})

這樣你就有一個可以擴充的起點,但還不需要一次把所有工具都裝上。

第一套常用插件

如果你想要先補齊最實用的一組工具,可以從這些開始:

  • nvim-lua/plenary.nvim:很多插件會共用的 Lua 工具庫
  • nvim-telescope/telescope.nvim:快速找檔案、搜尋文字、查 help
  • nvim-treesitter/nvim-treesitter:更好的語法解析與高亮
  • neovim/nvim-lspconfig:把 LSP 接到 Neovim
  • williamboman/mason.nvim:管理 LSP、formatters、linters
  • stevearc/conform.nvim:格式化文件
  • lewis6991/gitsigns.nvim:顯示 Git diff、hunk 與 blame

一個很小的起步版本可以像這樣:

require("lazy").setup({
  { "nvim-lua/plenary.nvim" },
  { "nvim-telescope/telescope.nvim", dependencies = { "nvim-lua/plenary.nvim" } },
  { "nvim-treesitter/nvim-treesitter", build = ":TSUpdate" },
  { "neovim/nvim-lspconfig" },
  { "williamboman/mason.nvim" },
  { "stevearc/conform.nvim" },
  { "lewis6991/gitsigns.nvim" },
})

這份清單不追求「一次裝滿」,而是先讓你有:

  • 檔案搜尋
  • 語法感知
  • LSP
  • 格式化
  • Git 視覺化

安裝後的快捷鍵入門

如果你剛開始學,先記住這幾組就夠用了:

  • i:進入插入模式
  • Esc:回到 normal mode
  • :w:儲存
  • :q:離開視窗
  • :wq:儲存後離開
  • <leader>w:儲存檔案(如果你沿用上面的設定)
  • <leader>q:關閉視窗
  • h j k l:上下左右移動
  • gg / G:跳到檔案開頭或結尾
  • dd:刪除一整行
  • yy:複製一整行
  • p:貼上
  • /:搜尋文字
  • n / N:切換下一個 / 上一個搜尋結果

這些先熟,就可以開始穩定地寫東西了。

第一次打開 Neovim 後的檢查清單

如果你剛安裝完,建議先做這幾件事:

  • 執行 nvim --version 確認版本正常
  • nvim 打開編輯器,確定不會報錯退出
  • 執行 :echo stdpath('config') 確認設定目錄
  • 執行 :checkhealth 看系統依賴是否完整
  • 開一個文字檔,確認儲存、關閉、重開都正常

如果這幾步都沒問題,就可以開始慢慢加插件和語言工具了。

建議的初始順序

如果你是第一次接觸 Neovim,可以照這個順序來:

  1. 先安裝 Neovim
  2. 建立 init.lua
  3. 先放幾個基本 vim.opt 設定
  4. 確認編輯、儲存、關閉都正常
  5. 再加入 plugin manager
  6. 最後才慢慢加插件

這樣比較不會一開始就被插件和設定淹沒。

初期不要急著做的事

剛開始時,通常不需要馬上:

  • 建一大堆 plugin
  • 做超複雜的自動化設定
  • 把所有 keymap 一次改完
  • 追求完全客製化的 UI

先讓編輯器穩定、順手、可預期,後面再逐步擴充,會比較容易維持。

下一步

如果你已經完成安裝與最小設定,可以接著看: