Table of Contents
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
我目前只有用過vim的經驗,之前試過nvim,感覺差異很大,尤其是多了lua語言,設定檔架構也彈性很多但也導致有點不知道要怎麼上手。> > 如果要無痛上手,當然會考慮vim-plug。但是想說既然打算把nvim當作重新開始,想直接試試最好用也是最主流的套件管理器(主要還是希望讓大部份的教學能照著做,因為光是重學nvim的負擔就不小,更何況還要對沒提供對應的套件管理程式額外做步驟上的轉換)。
如果你希望無痛上手 Neovim 並選擇最主流且高效的套件管理器,建議直接使用 packer.nvim。它是目前 Neovim 社群中最受歡迎的套件管理工具之一,並且大多數教學與插件都支援它。
以下是使用 packer.nvim
的簡單上手步驟:
1. 安裝 packer.nvim
在終端機中執行以下指令,將 packer.nvim
安裝到 Neovim 的插件目錄中:
git clone --depth 1 https://github.com/wbthomason/packer.nvim ~/.local/share/nvim/site/pack/packer/start/packer.nvim
2. 建立 Neovim 的設定檔
Neovim 的設定檔預設位於 ~/.config/nvim/init.lua
。如果你還沒有這個檔案,可以建立一個:
mkdir -p ~/.config/nvim
touch ~/.config/nvim/init.lua
3. 初始化 packer.nvim
在 init.lua
中加入以下內容,這是 packer.nvim
的基本設定:
-- 自動安裝 packer.nvim
local ensure_packer = function()
local fn = vim.fn
local install_path = fn.stdpath('data') .. '/site/pack/packer/start/packer.nvim'
if fn.empty(fn.glob(install_path)) > 0 then
fn.system({ 'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path })
vim.cmd([[packadd packer.nvim]])
return true
end
return false
end
local packer_bootstrap = ensure_packer()
-- 初始化插件
require('packer').startup(function(use)
use 'wbthomason/packer.nvim' -- packer 自身
use 'nvim-lua/plenary.nvim' -- 常用的 Lua 函式庫
use 'nvim-telescope/telescope.nvim' -- 模糊搜尋工具
use 'nvim-treesitter/nvim-treesitter' -- 語法高亮與解析器
use 'neovim/nvim-lspconfig' -- LSP 支援
use 'hrsh7th/nvim-cmp' -- 自動補全引擎
use 'hrsh7th/cmp-nvim-lsp' -- LSP 的補全來源
use 'L3MON4D3/LuaSnip' -- Snippet 引擎
use 'saadparwaiz1/cmp_luasnip' -- LuaSnip 的補全來源
use 'nvim-lualine/lualine.nvim' -- 狀態列
use 'kyazdani42/nvim-web-devicons' -- 圖示支援
use 'kyazdani42/nvim-tree.lua' -- 檔案總管
-- 如果是第一次安裝 packer,則自動同步插件
if packer_bootstrap then
require('packer').sync()
end
end)
4. 安裝插件
啟動 Neovim,執行以下指令來安裝所有插件:
:PackerSync
5. 開始使用
完成上述步驟後,你就可以開始使用 Neovim 了!packer.nvim
的設定檔是用 Lua 編寫的,這與 Neovim 的現代化設計相符,並且大多數教學都會提供對應的 packer.nvim
配置。
如果你需要進一步的教學或插件推薦,可以隨時詢問!
找到 1 種授權類型的類似代碼