跳至主要內容

页面配置

Mr.Lexon大约 3 分钟environment

nvim安装与配置

为什么要使用nvim

因为nvim相较于其他IDE,它有以下优点:

  1. 打开快速
  2. 高度自定义
  3. 对linux友好 我一般使用jetbrains全家桶,但是这个作为一个普通的脚本编辑器太过于臃肿了。所以以此为契机折腾一下nvim(vscode?它作为一个json编辑器挺好的)

安装

以下所有安装基于mint(debian)系统 首先去到nvim官网下载安装包open in new window,在这里我选择的是Linux,下载完成之后,解压到对应目录的文件夹,解压命令:

tar -zxvf nvim-linux64.tar.gz

然后将nvim加入到系统变量里面:

cd /path/to/install/nvim/bin
ln -s $(pwd)/nvim /usr/bin/nvim

操作完成之后,运行nvim -v出现:

NVIM v0.9.5
Build type: Release
LuaJIT 2.1.1692716794

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/__w/neovim/neovim/build/nvim.AppDir/usr/share/nvim"

Run :checkhealth for more info

即为成功。

插件管理安装

只需要执行以下两个命令:

curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

git clone --depth 1 https://github.com/wbthomason/packer.nvim\
 ~/.local/share/nvim/site/pack/packer/start/packer.nvim

然后在nvim里面运行:

:PackerStatus

如果显示窗口为packer.nvim的话即为成功

基础配置

首先到对应的使用用户目录下创建一个文件夹:

mkdir -p ~/.config/nvim
mkdir -p ~/.config/nvim/lua

创建完成之后,在~/.config/nvim/lua创建三个文件,分别是:

touch keybindings.lua #基础按键绑定文件
touch plugins.lua #插件管理文件
touch setting.lua #环境配置文件

plugins.lua

内容如下:

return require('packer').startup(function(use)
    -- packer
    use 'wbthomason/packer.nvim'
end)

setting.lua

内容如下:

vim.o.number = true          -- 显示行号
vim.o.relativenumber = true  -- 显示相对行号
vim.o.tabstop = 4            -- 制表符宽度
vim.o.shiftwidth = 4         -- 缩进宽度
vim.o.expandtab = true       -- 用空格代替制表符
vim.o.smartindent = true     -- 开启智能缩进
vim.o.wrap = false           -- 关闭自动换行
vim.o.cursorline = true      -- 高亮当前行
vim.cmd 'syntax enable'      -- 开启语法高亮

接下来是~/.config/nvim/init.lua

init.lua

local nvim_luaroot = vim.fn.stdpath('config').."/"
package.path = nvim_luaroot.."?.lua;"..package.path

-- 以上这两行是为了防止当nvim在别的目录下工作时检测不出来引用的配置
-- 以下是引用配置文件
require("lua.setting") 
require("lua.plugins")
require("lua.keybindings")

--这个是向vim添加packer拓展
vim.cmd [[packadd packer.nvim]]

keybindings.lua文件暂时不需要配置 最后运行一下nvim没有出现报错就可以使用了。

coc插件安装与配置

nvim安装完成之后是没有办法直接使用的,需要添加lsp插件才能开始使用。以下操作目录以~/.config/nvim为起点。

什么是lsp

LSP 指的是“语言服务器协议”(Language Server Protocol)。这是一种在编辑器(如 Neovim)和专门用于提供编程语言特定功能(如自动完成、代码跳转、悬停提示等)的语言服务器之间通讯的标准协议。LSP 由 Microsoft 开发,旨在使代码编辑器能够与语言服务器进行通信,从而提供更丰富的编程语言支持。(gpt的回答)

通俗的讲它提供想IDE里面的代码提示,代码补全,语法分析等等一系列编程工作基础功能。

安装

首先他需要安装nodejs这个可以查看这篇文章:nodejs linux安装 现在假定已安装完成了,接下来编辑lua/plugins.lua

vim lua/plugins.lua

在函数内部添加此代码:

--coc
    use {'neoclide/coc.nvim', branch = 'release'}

保存退出之后,进入nvim,执行以下命令:

:PackerInstall

执行时会出现一个窗口显示安装进度。当安装完成之后,退出重启nvim

插件安装

现在可根据所需语言安装对应的lsp插件,这里以javascript为例子: 首先进入nvim,然后执行:

:CocInstall coc-tsserver

安装完成之后,在工作目录创建配置文件:

vim coc-settings.json

添加以下配置:

{
	"suggest.noselect": false,
    "coc.preferences.formatOnSaveFiletypes": [
        "javascript",
        "typescript",
        "json",
        "javascriptreact",
        "typescriptreact",
        "css",
        "markdown",
        "graphql"
    ],
}

保存之后就可以使用nvim创建或者打开javascript文件进行编辑,看看是否出现代码提示即可。有一点要注意,语法提示是需要另外的插件。

上次编辑于:
贡献者: Lexon