我的VIM配置
簡介
電腦重裝了個win10,想在wi10上用vim,所以配置了個NeoVim,下面是配置好的效果圖:

安裝步驟
1. 下載安裝vim
由于vim有點老舊,所以安裝NeoVim,下載后直接雙擊Neovim Qt運行,下載鏈接:https://github.com/neovim/neovim/releases/tag/stable

2. 健康檢查
安裝完成后運行一下健康檢查:checkhealth,檢查環境是否齊全

3. 環境配置
按照官方檔案配置(https://github.com/neovim/neovim/wiki/Installing-Neovim)

配置$VIMRUNTIME環境,這個運行環境是安裝目錄下的./NeoVim\share\nvim\runtime
PATH: 包括neovim的bin和一些后面會用到的軟體變數,如圖:

:setpell: 打開軟體直接輸入,如果執行失敗的話,去官網上下載檔案,手動放到目錄中去
init.lua:核心組態檔,在neovim中,使用lua來配置,目錄:C:\Users\your-user-name\AppData\Local\nvim
上面配置好之后記得再次運行健康檢查:checkhealth
4. 配置目錄
lua支持模塊化配置,我們創建如下圖所示的檔案(plugins目錄下的都是一些插件配置)

5. 說明一下這幾個檔案的用途
- init.lua 核心組態檔,用來加載其他的組態檔
- options.lua 基礎配置,包括一些行號、tab、換行等配置
- lazy.lua 插件管理器lazy.nvim的配置
- keymaps.lua 快捷鍵設定
- plugins目錄下的都是一些插件配置
6. 插件管理器安裝
這里選擇Lazy.nvim作為插件管理器(主要是有個ui,看起來舒服),直接按照官方檔案安裝:(https://github.com/folke/lazy.nvim)
這里需要安裝Nerd Font(一款字體,不安裝的話插件中有些符號無法顯示)

組態檔如下:
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", "--branch=stable", -- latest stable release
lazypath
})
end
vim.opt.rtp:prepend(lazypath)
-- Use a protected call so we don't error out on first use
local status_ok, lazy = pcall(require, 'lazy')
if not status_ok then return end
-- Start setup
lazy.setup({
spec = {
-- 需要的插件都寫在這里
}
})
撰寫完成后,在init.lua中匯入require('core.lazy')
安裝完成后,輸入:Lazy,如圖:

7. 插件安裝示例
基本上都是在github上找官方檔案一步一步安裝的,這里就以安裝nvim-tree為案例演示一下插件安裝的方法(https://github.com/nvim-tree/nvim-tree.lua)

- 撰寫lazy.lua
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", "--branch=stable", -- latest stable release
lazypath
})
end
vim.opt.rtp:prepend(lazypath)
-- Use a protected call so we don't error out on first use
local status_ok, lazy = pcall(require, 'lazy')
if not status_ok then return end
-- Start setup
lazy.setup({
spec = {
{
"nvim-tree/nvim-tree.lua",
version = "*",
dependencies = {"nvim-tree/nvim-web-devicons"},
config = function() require("nvim-tree").setup {} end
}
}
})
- 運行
:Lazy安裝 - 撰寫組態檔
nvim-tree.lua,這些配置都在官方檔案里
local status,ntree = pcall(require,'nvim-tree')
if not status then
return
end
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1
vim.opt.termguicolors = true
ntree.setup({
sort_by = "case_sensitive",
renderer = {
group_empty = true,
},
filters = {
dotfiles = true,
},
})
- init.lua中匯入
-- 省略lua檔案夾
require('plugins.nvim-tree')
- 輸入
:so重新加載組態檔
8. 我裝的一些插件
由于我本人只是使用vim查看代碼,撰寫檔案,所以并沒有安裝Lsp(雖然我裝了Mason.....)
navarasu/onedark.nvim:主題插件,超愛onedark配色
nvim-tree/nvim-tree.lua:左側目錄樹
windwp/nvim-autopairs:自動完成括號、單引號、雙引號啥的
nvim-telescope/telescope.nvim: 全域搜索
phaazon/hop.nvim:快速跳轉
szw/vim-maximizer:vim視窗最大化
christoomey/vim-tmux-navigator:tmux導航
numToStr/Comment.nvim:注釋
tpope/vim-surround:成對符號修改,可以很方便輸入成對的符號,例如將一串字符中間的幾個字符用括號包裹起來
williamboman/mason.nvim: mason,LSP安裝管理器
illiamboman/mason-lspconfig.nvim: LSP
neovim/nvim-lspconfig : LSP
folke/trouble.nvim :顯示warning
nvim-treesitter/nvim-treesitter 代碼高亮
KaraMCC/vim-termtoggle 打開終端
iamcco/markdown-preview.nvim markdown預覽
folke/which-key.nvim:神器,顯示vim快捷鍵
akinsho/bufferline.nvim: 美化,把 buffer 顯示成類似 VSCode 中 Tab 頁
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/550786.html
標籤:其他
上一篇:toml格式組態檔介紹
下一篇:返回列表
