Neovim IDE 搭建系列(01)
2022/2/19 6:13:17
本文主要是介绍Neovim IDE 搭建系列(01),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Neovim IDE 搭建系列(01)
前言
我是一名 Python 开发者,最早的时候使用 Pycharm 进行开发,后来大概使用了一年多的 vscode,由于受不了 vscode 以及 Pycharm 的卡顿,所以在不久前我转到了 neovim 阵营。
得益于 LSP 以及 DAP 的加持,目前 neovim 的编码体验已经不输于 vscode 了,高效的全键盘操作能够让你的思维不会因为寻找鼠标而中断,这也是我热爱 neovim 最重要的一个原因。
鉴于目前这部分中文资料较少,所以在此想对加入 neovim 大家庭而又畏惧繁琐配置的朋友提供一份快速搭建的指南,如果您觉得这个系列对您有帮助,不妨点个关注 ~
预计在未来一周内将会全部更新完毕,感谢阅读。
配置范围
个人平常会使用的语言如下,如果你也使用这些语言,那么是完全可以用 neovim 进行开发的:
- Python3
- Golang
- Lua
- NodeJs
- HTML
- CSS
- JavaScript
- TypeScript
- Vue
拟定目录
配置过程大概分为以下几个步骤:
- 基本配置
- 美化配置
- 编辑配置
- 功能配置
- LSP 配置
- DAP 配置
- 其他配置
刚好 7 天,一天一个板块,目前我的插件数量是 68,没做任何优化,在 16 年的老电脑上启动时间大约 100 毫秒,比 vscode 快了很多倍。
准备工作
在开始之前,需要确保安装以下一些外部依赖:
- neovim(至少大于 0.5 版本)
- python3 以及 pip3
- tar、curl、git、gzip、wget
- gcc 以及 g++ (用于 nvim-treesitter 的依赖安装)
- nerd font(正确显示图标)
- node 以及 npm(用于 LSP 服务,可选)
- fd 以及 ripgrep (用于 telescope 模糊查找)
- sed (用于 nvim-spectre 的全局字符串替换)
由于我使用的是 Linux (manjaro),所以安装它们都非常简单,推荐 windows 用户在 WSL 下安装,这样会省掉很多繁琐的步骤。
配置目录
neovim 现在支持 vimscript 和 lua 这 2 种语言书写配置,个人使用纯 lua 语言,它能够更加方便的管理多个插件。
neovim 的配置文件放在 ~/.config/nvim/init.lua 中,可按照下面的目录结构创建相关目录:
/home/askfiy/.config/nvim ├── init.lua ├── ftplugin/ ├── lint/ ├── lua/ │ ├── basic/ │ │ ├── config.lua │ │ ├── keybinds.lua │ │ ├── plugins.lua │ │ └── settings.lua │ ├── conf/ │ ├── dap/ │ └── lsp/ └── snippet/
目录说明:
- ftplugin:根据不同的文件类型来定义缩进规则
- lint:各种语言的代码检查规范,如 pylint 等文件存放在此目录下
- basic:存放基本配置项
- conf:存放插件相关配置
- dap:存放 DAP 相关配置
- lsp:存放 LSP 相关配置
- snippet:存放代码片段相关配置
文件说明:
- init.lua:配置入口文件
- config.lua:存放用户自定义配置的文件
- keybinds.lua:存放键位绑定的文件
- plugins.lua:存放依赖插件的文件
- settings.lua:存放 neovim 基本配置项的文件
部分功能展示
目录树、重做树、大纲预览、各种终端:
语法提示、代码补全、工作区诊断、问题跳转:
代码调试:
代码快速格式化:
自定义代码片段(和 vscode 一样的配置方式,很方便):
tabnine 和 git copilot 等 AI 代码补全:
快速跳转到词、行、列:
项目模糊查找、文件查找、标签查找:
各种漂亮的主题:
这篇关于Neovim IDE 搭建系列(01)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-28MQ底层原理资料详解:新手入门教程
- 2024-11-28MQ项目开发资料详解:新手入门教程
- 2024-11-28MQ项目开发资料详解:入门与初级用户指南
- 2024-11-28MQ消息队列资料入门教程
- 2024-11-28MQ消息队列资料:新手入门详解
- 2024-11-28MQ消息中间件资料详解与应用教程
- 2024-11-28MQ消息中间件资料入门教程
- 2024-11-28MQ源码资料详解与入门教程
- 2024-11-28MQ源码资料入门教程
- 2024-11-28RocketMQ底层原理资料详解