diff --git a/packer.nvim-%E5%9F%BA%E6%9C%AC%E4%B8%8A%E6%89%8B.md b/packer.nvim-%E5%9F%BA%E6%9C%AC%E4%B8%8A%E6%89%8B.md new file mode 100644 index 0000000..1514186 --- /dev/null +++ b/packer.nvim-%E5%9F%BA%E6%9C%AC%E4%B8%8A%E6%89%8B.md @@ -0,0 +1,85 @@ +> 我目前只有用過vim的經驗,之前試過nvim,感覺差異很大,尤其是多了lua語言,設定檔架構也彈性很多但也導致有點不知道要怎麼上手。> > 如果要無痛上手,當然會考慮vim-plug。但是想說既然打算把nvim當作重新開始,想直接試試最好用也是最主流的套件管理器(主要還是希望讓大部份的教學能照著做,因為光是重學nvim的負擔就不小,更何況還要對沒提供對應的套件管理程式額外做步驟上的轉換)。 +-------------------------------------------------------------------------------- + +如果你希望無痛上手 Neovim 並選擇最主流且高效的套件管理器,建議直接使用 **[packer.nvim](https://github.com/wbthomason/packer.nvim)**。它是目前 Neovim 社群中最受歡迎的套件管理工具之一,並且大多數教學與插件都支援它。 + +以下是使用 `packer.nvim` 的簡單上手步驟: + +--- + +### 1. 安裝 `packer.nvim` +在終端機中執行以下指令,將 `packer.nvim` 安裝到 Neovim 的插件目錄中: + +```bash +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`。如果你還沒有這個檔案,可以建立一個: + +```bash +mkdir -p ~/.config/nvim +touch ~/.config/nvim/init.lua +``` + +--- + +### 3. 初始化 `packer.nvim` +在 `init.lua` 中加入以下內容,這是 `packer.nvim` 的基本設定: + +```lua +-- 自動安裝 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,執行以下指令來安裝所有插件: + +```vim +:PackerSync +``` + +--- + +### 5. 開始使用 +完成上述步驟後,你就可以開始使用 Neovim 了!`packer.nvim` 的設定檔是用 Lua 編寫的,這與 Neovim 的現代化設計相符,並且大多數教學都會提供對應的 `packer.nvim` 配置。 + +如果你需要進一步的教學或插件推薦,可以隨時詢問! + +找到 1 種授權類型的類似代碼 \ No newline at end of file