Neovim安装

Linux

  1. Download nvim-linux64.tar.gz from github
  2. Extract tar xzvf nvim-linux64.tar.gz
  3. Add export PATH=$PATH:/path/to/nvim-linux64/bin to your shell config file (e.g. ~/.bashrc)
  4. Run nvim to verify installation, ignore errors and warnings on first run

  5. github下载nvim-linux64.tar.gz

  6. 解压tar xzvf nvim-linux64.tar.gz
  7. export PATH=$PATH:/你的路径/nvim-linux64/bin添加到您的shell配置文件中(例如~/.bashrc
  8. 运行nvim以验证安装,忽略第一次运行时的错误和警告

如我所示:

1
2
3
4
5
cd ~/Downloads # 进入下载目录
wget https://github.com/neovim/neovim/releases/download/stable/nvim-linux64.tar.gz -O nvim-linux64.tar.gz # 下载nvim-linux64.tar.gz
tar xzvf nvim-linux64.tar.gz -C ~/ # 解压到根目录(看你打算放在哪里)
export PATH=$PATH:~/nvim-linux64/bin # 添加到环境变量
nvim # 验证安装

Neovim配置

  1. 创建~/.config/nvim/init.vim等配置文件夹及文件
1
2
3
4
5
6
7
8
mkdir -p ~/.config/nvim # 创建nvim配置文件夹
mkdir -p ~/.config/nvim/lua # 创建nvim配置文件夹
mkdir -p ~/.config/nvim/lua/base # 创建nvim基础配置文件夹
mkdir -p ~/.config/nvim/lua/plugins # 创建nvim插件配置文件夹
touch ~/.config/nvim/init.lua # 创建nvim配置文件
touch ~/.config/nvim/lua/base/options.lua # 创建nvim基础配置文件
touch ~/.config/nvim/lua/base/keymaps.lua # 创建nvim按键映射配置文件
touch ~/.config/nvim/lua/plugins/plugins-setup.lua # 安装插件配置文件
  1. 编辑~/.config/nvim/base/options.lua: nvim ~/.config/nvim/base/options.lua

加入以下内容:

1
2
3
4
-- vim.opt.number = true -- 显示行号
-- vim.opt.relativenumber = true -- 显示相对行号
vim.opt.cursorline = true -- 高亮当前行
vim.opt.scrolloff = 4 -- 光标距离顶部和底部4行

  1. 编辑~/.config/nvim/base/keymaps.lua: nvim ~/.config/nvim/base/keymaps.lua

加入以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
vim.g.mapleader = ' ' -- 设置leader键为<Space>

local map = vim.keymap
-------------------- 插入模式 --------------------
map.set('i', 'jk', '<Esc>') -- jk退出插入模式
-------------------- 视觉模式 --------------------
-- 单行或多行移动
map.set('v', 'J', ":m '>+1<CR>gv=gv")
map.set('v', 'K', ":m '<-2<CR>gv=gv")
-------------------- 正常模式 --------------------
-- 窗口分割
map.set('n', '<leader>sv', '<C-w>v') -- 垂直分割窗口
map.set('n', '<leader>sh', '<C-w>s') -- 水平分割窗口
-- 关闭搜索高亮
map.set('n', '<leader>nh', ':nohl<CR>') -- 关闭搜索高亮

  1. 配置插件管理器packer.vim github

编辑~/.config/nvim/lua/plugins/plugins-setup.lua: nvim ~/.config/nvim/lua/plugins/plugins-setup.lua

加入以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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()

vim.cmd([[augroup packer_user_config
autocmd!
autocmd BufWritePost plugins-setup.lua source <afile> | PackerSync
augroup end
]]) -- 自动加载插件配置文件并同步插件
return require('packer').startup(function(use)
use 'wbthomason/packer.nvim'
-- My plugins here
-- use 'foo1/bar1.nvim'
-- use 'foo2/bar2.nvim'

-- Automatically set up your configuration after cloning packer.nvim
-- Put this at the end after all plugins
if packer_bootstrap then
require('packer').sync()
end
end)

  1. 编辑~/.config/nvim/init.lua: nvim ~/.config/nvim/init.lua

加入以下内容:

1
2
3
require('base.options') -- 加载基础配置
require('base.keymaps') -- 加载按键映射
require('plugins.plugins-setup') -- 加载插件

  1. 进入~/.config/nvim/lua/plugins/plugins-setup.lua: nvim ~/.config/nvim/lua/plugins/plugins-setup.lua

normal模式下运行:w保存文件可以看到自动安装插件
plugins

插件配置

接下来我们来安装一些插件

创建插件管理文件

创建~/.config/nvim/lua/plugins/config.lua: nvim ~/.config/nvim/lua/plugins/config.lua

1
touch ~/.config/nvim/lua/plugins/config.lua # 创建插件配置文件

安装插件

  1. 主题插件
    folke/tokyonight.nvim
    ~/.config/nvim/lua/plugins/plugins-setup.lua中插入:
    1
    use 'folke/tokyonight.nvim'
    ~/.config/nvim/lua/plugins/config.lua中插入:
    1
    vim.cmd[[colorscheme tokyonight-moon]] -- 设置主题,有tokyonight_storm, tokyonight_day, tokyonight_night, tokyonight_moon等几种选择
    ~/.config/nvim/init.lua中插入:
    1
    require('plugins.config') -- 加载插件配置
    运行:w保存~/.config/nvim/lua/plugins/plugins-setup.lua文件,可以看到自动安装插件

安装过程中可能会链接失败,可以多试几次,或者使用代理
使用git代理:

1
2
git config --global http.proxy http://{你的代理地址}:{你的代理端口}
git config --global https.proxy https://{你的代理地址}:{你的代理端口}

比如我就是:
1
2
git config --global http.proxy socks://26.212.56.213:10808
git config --global https.proxy socks://26.212.56.213:10808

取消git代理:
1
2
git config --global --unset http.proxy
git config --global --unset https.proxy

安装完可以看到主题已经生效了
tokyonight-moon

  1. 状态栏插件
    nvim-lualine/lualine.nvim
    ~/.config/nvim/lua/plugins/plugins-setup.lua中插入:
    1
    2
    3
    4
    use {
    'nvim-lualine/lualine.nvim', -- 状态栏插件
    requires = {'kyazdani42/nvim-web-devicons', opt = true} -- 图标支持(可选)
    }
    ~/.config/nvim/lua/plugins/config.lua中插入:
    1
    2
    3
    4
    5
    require('lualine').setup {
    options = {
    theme = 'tokyonight-moon', -- 主题
    }
    }
    最后也是安装一下

    如果状态栏乱码,需要安装字体,我使用的是Hack Nerd Font字体,可以在这里下载
    下载后解压,双击字体文件安装即可
    安装完字体后,需要在终端设置才能生效

lualine

  1. 文件树插件

nvim-tree/nvim-tree.lua
~/.config/nvim/lua/plugins/plugins-setup.lua中插入:

1
2
3
4
use {
'nvim-tree/nvim-tree.lua', -- 文件树插件
requires = { 'nvim-tree/nvim-web-devicons' } -- 文件图标(可选)
}

~/.config/nvim/lua/plugins/config.lua中插入:
1
2
3
4
5
6
-- 启动时隐藏文件树
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1

-- empty setup using defaults
require("nvim-tree").setup()

最后也是安装一下

最后改一下按键映射
~/.config/nvim/base/keymaps.lua中插入:

1
2
3
-------------------- 插件 --------------------
-- 文件树
map.set('n', '<leader>e', ':NvimTreeToggle<CR>') -- 打开/关闭文件树

nvim-tree