NeoVim 安装
安装
-
macOS
brew install neovim
-
Windows
-
使用
winget
:winget install Neovim.Neovim
-
也可以使用
scoop
:scoop install neovim
-
-
Ubuntu
-
通过包管理器(版本较旧,可能无法安装后面的 LazyVim 插件):
sudo apt install neovim
-
或者手动安装二进制包:
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz sudo rm -rf /opt/nvim sudo tar -xzf nvim-linux64.tar.gz -C /opt rm nvim-linux64.tar.gz
将下面这行加入
~/.bashrc
或~/.zshrc
:export PATH="/opt/nvim-linux64/bin:$PATH"
-
使用
nvim <your_file>
将
<your_file>
替换为你要打开的文件名
LazyVim
刚安装的 NeoVim 看起来和传统 Vim 并无两样。我们可以安装 LazyVim 插件来美化我们的 NeoVim。
安装
在安裝前确保你的系统已经安装了 GCC 或 Clang 等 C 编译器。对于 Windows 上 GCC 的安装,参见安装 MinGW-w64。
-
Linux / macOS:
git clone https://github.com/LazyVim/starter ~/.config/nvim
-
Windows:
git clone https://github.com/LazyVim/starter $env:LOCALAPPDATA\nvim
配置
在 ~/.config/nvim/lua/config/options.lua
文件下可以进行一些个性化设置:
vim.opt.expandtab = true -- 使用空格代替 Tab
vim.opt.tabstop = 4 -- Tab键的宽度
vim.opt.shiftwidth = 4 -- 缩进时的宽度
vim.opt.softtabstop = 4 -- 按退格键时可以删除的空格数量
vim.g.lazyvim_plugin_notifications = false -- 禁用插件通知
设置 Tab
键为自动补全按键
创建 ~/.config/nvim/lua/plugins/autocompleate.lua
:
return {
-- Use <tab> for completion and snippets (supertab)
-- first: disable default <tab> and <s-tab> behavior in LuaSnip
{
"L3MON4D3/LuaSnip",
keys = function()
return {}
end,
},
-- then: setup supertab in cmp
{
"hrsh7th/nvim-cmp",
dependencies = {
"hrsh7th/cmp-emoji",
},
---@param opts cmp.ConfigSchema
opts = function(_, opts)
local has_words_before = function()
unpack = unpack or table.unpack
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
end
local luasnip = require("luasnip")
local cmp = require("cmp")
opts.mapping = vim.tbl_extend("force", opts.mapping, {
["<CR>"] = cmp.config.disable,
["<Tab>"] = cmp.mapping.confirm({ select = true }),
["<C-j>"] = cmp.mapping(function(fallback) end, { "i", "s" }),
})
end,
},
}
参考:HELP, How do I Auto complete with <TAB> in LazyVim? | Reddit