neovim快速配置教程
纯windows下的neovim快速配置过程
由于github的问题可能图片加载不是很好可以直接下方连接下载最新版解压即可
https://github.com/jiaxinaoliao/neovimBeginCpp
解压之后的REDME.md文件(推荐用typora打开或者notepads(alt+p开启markdown预览)也可以)即可查看
虽然不是开箱即用但是也省略了大部分配置时间
下载之后进行简单的安装即可使用
在纯windows环境不需要虚拟机 纯windows环境下使用
linux/wsl下也可以使用,linux/wsl的配置文件在文件夹的linuxConfig中
macos应该也能兼容(没有试过)
1. 简介
系统环境win10或者win11都可以,主要用于c\c++(python,lua,rust等也可以)的学习使用(学习编程或者小项目)
可以实现IDE的基本功能(编译、运行、调试、跳转、报错、提示等等)
系统:利用的win11的环境windows11专业版22H2版本
(家庭学生版或者其他版本也可以)
终端:最新版的Windows Terminal+powershell
- 注意 :Microsoft powershell和powershell不一样
PowerShell 7.x 是下一个长期服务 (LTS) 版本,基于 .NET 6.0 构建。
可以跨平台windows和macos和linux都支持(具体说明可以去微软官网https://learn.microsoft.com/zh-cn/shows/it-ops-talk/how-to-install-powershell-7)
美化: oh-my-push(类似于oh-my-zsh的一个东西,不过会影响启动速度)
编译用的mingw的gcc,调试用的vscode的插件cpptools
如果想用clangd的话,windows下用的是MinGW64的llvm-mingw
下载地址https://github.com/mstorsjo/llvm-mingw/releases
利用的包管理器是scoop类比于ubuntu下的apt,apt-get,arch的pacman
具体机型配置无所谓,不需要太好的性能八代i3的cpu也能带的动,占用资源少
总结:windows + windows terminal + powershell + oh-my-push + neovim + cpp(clang + lldb)
主要用于C/C++其他语言也可以,前端、python、java等都可以,需要小改动
2. 环境安装
win10和win11差不多都可以兼容
2.1 下载配置文件
首先下载仓库(https://github.com/jiaxinaoliao/neovimBeginCpp)打开网址
打不开github的话可以考虑用fastgithub进行加速之后,下载就行
windows直接下载压缩包之后解压放在一边(方便的位置如桌面配置之后可以删除)
2.2 配置终端设置
微软商店下载最新版本Windows Terminal和Powershell
打开下载的配置文件夹里面有一个字体的文件夹里面有Inconsolata LGC Bold Nerd Font Complete Mono Windows Compatible.ttf字体双击打开安装即可,或者自行去(https://www.nerdfonts.com/)官网下载nerd fonts的自己喜欢的字体
22.10.3换字体了Code New Roman Bold Nerd Font Complete Windows Compatible.otf也在文件夹里面打开安装就行
我这里我的是CodeNewRomanNerdFontMono-Regular.otf
之后打开windows terminal以下简称wt
打开wt的设置,在设置中打开配置JSON文件如图
打开配置文件夹打开wt+pwsh配置文件的文件夹里面有一个windowsterminal 配置.txt文件将其中的内容复制替换原本的JSON配置文件
之后保存关闭即可,再次打开wt如果改变说明设置成功,标签栏默认隐藏(alt+z可以打开打开标签栏)如果不习惯也可以在设置->启动->启动模式中的启动模式改为别的即可
也可以在wt的设置中打开默认值->外观
之后根据自己的喜好设置透明度或者背景等,也可以更改其他nerd fonts字体
设置完成之后wt就可以投入使用了
可以用win+r输入wt快速打开和用cmd类似可以理解为高级好看的cmd终端
2.3 Scoop包管理器
scoop是windows下的一个强大的包管理器可以方便快速的安装软件
2.3.1 scoop安装
安装scoop很简单只需要在powershell中输入一条指令
iwr -useb get.scoop.sh | iex
即可自动安装
但是默认是在C盘安装所以在运行之前先要更改地址
并且要让powershell可以执行脚本需要输入
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
回车即可
之后依次输入下面的两条指令‘D:\ScoopApp\Scoop’单引号内部的地址可以更改其他的不要动
$env:SCOOP='D:\ScoopApp\Scoop' |
第一条指令没有问题第二条指令也一样单引号内的地址可以更改可能需要管理员身份右键wt以管理身份运行即可
$env:SCOOP_GLOBAL='D:\ScoopApp\GlobalScoopApps' [Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL,'Machine') |
输入上两条指令之后再输入iwr -useb get.scoop.sh | iex
即可开始安装scoop了
安装完成之后在’D:\ScoopApp\Scoop’的地方会有一个scoop的文件夹里面会有
- apps——所有通过scoop安装的软件都在里面。
- buckets——管理软件的仓库,用于记录哪些软件可以安装、更新等信息,默认添加
main
仓库,主要包含无需GUI的软件,可手动添加其他仓库或自建仓库,具体在推荐软件仓库中介绍。 - cache——软件下载后安装包暂存目录。
- persit——用于储存一些用户数据,不会随软件更新而替换。
- shims——用于软链接应用,使应用之间不会互相干扰,实际使用过程中无用户操作不必细究。
scoop有很多功能可以自行上网查看,这里只用几个最基本的需要用到的
- install——安装软件。
- uninstall——卸载软件。
- update——更新软件。可通过
scoop update *
更新所有已安装软件,或通过scoop update
更新所有软件仓库资料及Scoop自身而不更新软件。
比如需要安装git只需要在powershell中输入命令scoop install git
即可
scoop + 命令 + 软件名称
卸载的话就用scoop uninstall git
2.3.2 安装之后
安装之后用scoop update *
进行更新
之后用scoop bucket add 仓库名
添加仓库
常用的有以下几个
main |
咱们需要用的默认的main和extras可以根据自己需要添加,如:
scoop bucket add main |
main是默认的extras里面有大量的常用的软件java的就是提供java的一些工具
添加仓库之后用scoop update *
更新
之后开始安装软件
这里推荐用一个scoop install aria2
用来加速下载的
如果报错的话用下面的命令关闭aria2
scoop config aria2-enabled false |
同理改成true即可开启
scoop config aria2-enabled true |
用scoop list
可以查看已经安装的程序
之后记住scoop install 和scoop uninstall就可以了其他的命令功能可以上官网自行查看这里用不到
3. 程序安装
1. zip
首先安转一些小工具
先把neovim安装上 |
2. nodejs
需要nodejs的环境
scoop install nodejs |
windows的话可能需要重启一下环境变量才会生效
重启之后用npm –version查看输出版本号说明安装成功
之后用npm安装一下wsl-opennpm install -g wsl-open
以后wsl的话用的到
3. fd-find
fd-find(npm install -g fd-find
)
- 需要node.js环境
- 可以用
scoop install fd
之后在neovim里面:checkhealth
一下看看
windows的话用scoop install fd
即可
4. lazygit
git管理器scoop install lazygit
5. 安装python
windows的话直接去官网下载安装程序运行安装程序即可
可以参考这个
全网最详细的Python安装教程(Windows) - 知乎 (zhihu.com)
主要就是安装python添加环境变量打开powershell之后输入python –version输出版本号书名成功了
6. python的环境
需要在安装完Python之后
sudo pip3 install --upgrade pynvim
7. llvm-mingw下载
7.1 mingw64编译
我这里用的gcc直接用scoop安装mingw就可以了
scoop install mingw
如果想用llvm的话可以下载https://github.com/mstorsjo/llvm-mingw/releases之后添加环境变量即可
7.2 lldb调试
gcc的话用gdb调试体验不是很好所以这里用lldb进行调试
配置文件夹内有一份llvm-mingw快速使用.md有一些基本的lldb的使用方法可以参考一下,也可以直接去官网查看文档
lldb是llvm的windows的话可以借用库一个是gnu的一个是msvc的就是微软的
这个是gnu的
配置文件夹中也有可以直接复制出来使用就行https://github.com/mstorsjo/llvm-mingw/releases)
ucrt更通用i686是32位x86_64是64位根据自己电脑下载有macos和ubuntu的版本
这里用的windows直接下载最后
这个就可以了
下载之后解压放在D盘或者其他盘里面记住路径
可以用文件夹里面的跳过这步
之后添加系统环境变量,直接win+i打开设置然后搜索环境变量
搜索打开环境变量
点击path->编辑
之后先点新建然后点浏览
在浏览文件夹中找到llvm-mingw文件夹点击bin目录
之后一路确定即可
顺便把mingw的也添加进来但是要在llvm-mingw的上面(顺序一定不能弄错)
补充:这个是msvc的(可以跳过)
Releases · llvm/llvm-project (github.com)
llvm的github上有了windows班去github上下载llvm-win32或64位的安装程序
选择添加环境变量安装即可
优点:llvm-win用的是vs库文件需要安转vs或者安装vs的库
llvm-mingw用的是gnu的库可以用clang -v
来查看
msvc就是vs的链接库llvm-win默认用的就是vs的
gnu就是mingw的库llvm-mingw默认用的就是gnu的
msvc的好处是,在终端支持中文显示,但是在neovim内会utf-8乱码(个人觉得不影响-在终端使用方便)
llvm-mingw默认用的gnu的库,utf-8在vim和终端中都是英文不会乱码
用llvm-wim的msvc不管是.c还是.cpp文件都可以用clang编译
但是gnu的.cpp必须用clang++编译
gnu和msvc二选一即可
window的话建议用gnu
改用llvm-mingw用Target:gnu的库,在用msvc的在使用lldb调试的时候打断点会报错
用mingw的的话编译c++需要用clang++
在nvim文件夹内的lua文件夹下keybindings.lua的最后
大概四百多行的位置将clang改为clang++即可如果是.c文件用clang即可
或者使用gcc改成gcc即可
可以用:400
命令或者快捷键400gg
快速跳转到四百行就可以看见了
或者java改成javac等等都可以自行安排
调试部分已经更改
用编译好的.exe的名称回车即可运行
powershell的格式是.\a.exe也可以输入文件(.exe)名称如a
之后按
或者用-o改名如g++ hello.cpp -o test.exe
即可编译生成hello.exe文件
之后hello
按/.\hello.exe
回车运行输出结果
默认/
更改部分可以看https://www.bilibili.com/video/BV1qN4y1m7EH/
/
ctrl+/
ctrl+/
7.3 结合
这里使用的是gcc的编译器,clang也可以,看个人选择
clang的提示会更好mac的话默认用的clang的
windows的话gcc的兼容性会更好
但是要注意环境变量的顺序mingw的要在llvm-mingw的上面
到这里基本所有需要的程序就都已经安装完毕了
7.4 UTF-8(windows改为utf-8)
这里有两种方法
方法一(不推荐)
在设置中找到区域设置
找到语言管理设置
!
选择更改系统区域设置
选用utf-8之后确定即可,需要重启电脑
方法一相当于都改成了utf8编码,对于一些国产软件会有问题
方法二
去修改pwsh的配置文件,文件夹中有一份带注释的一份不带注释的可以查看,下文中有提到
8. 之后加的gokcehan/lf
类似于linux下的lf终端下的资源管理器
直接到girhub上下载windows的版本lf-windows-adm64
直接下载之后解压
或者直接用这个配置文件夹中的
文件夹中的是64位的windows的如果需要可以自行下载
放在c盘以外的地方之后添加到环境变量中(需要重启一下)
在终端中用lf即可打开
和vim操作差不多jk上下移动选择hl左右文件夹e用记事本打开,l打开q退出
windows的兼容性不是很好只是用来浏览用的
4. 运行neovim
先要安装neovim用scoop install neovim
就可以
将配置文件夹中的nvim文件夹复制粘贴到C盘 C:\用户\用户名称\AppData\Local
或者是自定义的指定位置
整个文件夹复制进来(linux下的可以用linuxConfig文件夹)放在Local/下面
之后在wt中打开neovim用nvim回车即可
第一次打开会自动安装lazy插件管理器不用管等待安装完成即可
如果没有成功查看一下网络打开fastgithub
安装完成之后在neovim里面用:Lazy命令进行安装插件
进入Lazy之后按shift+s
就可以更新全部插件了
安装插件也许要可以连接上github用fastgithub或者代理也可以
全都安装不上就是网络问题
将配置文件复制完成之后需要完成三步
- 打开nvim输入命令
:Lazy
之后按shift+s
更新插件 - 打开nvim输入命令
:Mason
之后等待检测更新按shift+u
更新lsp,可以直接选择需要的lsp进行安装i安装
- 打开nvim输入命令
:TSUpdate all
全部安装好后就可以直接使用了如果有报错可以在neovim中用:CheckHealth检查一下
却少什么不能用报错error可以warning
如果报错看看缺少什么安装一下即可
5. 自定义改动
在配置文件中nvim->lua->keybindings.lua文件包含快捷键以及注释可以自行更改
上述没有提到到oh-my-push如果需要的话可以去微软商店下载安装
如果微软商店安装不了的话可以用scoop安装
之后在powershell中用notepad 打开配置文件
notepad $PORFILE
打开配置文件
将配置文件夹中的Microsoft.PowerShell_profile.ps1打开全部复制粘贴到里面
有一个带注释的.ps1的配置文件有具体说明
使用的时候用不带注释的会快一点
然后保存关闭在powershell中运行.$PROFILE
加载一下即可
在oh-my-push中Get-PoshThemes
可以查看所有主题
选一款自己喜欢的记住名字
之后用notepad $PORFILE
打开配置文件将圈出来的地方改为自己喜欢的主题的名字即可
保存关闭后用.$PROFILE
重新加载
可以方向键的右键->补全历史命令用ctrl+->部分补全
文件中如果安装scoop install busybox
的话可以将Remove-Item alias:\ls
之后的删除
建议安装busybox提供了很多linux的指令
在nvim->lua->plugin-config->dashboard.lua可以更改自己喜欢的开机界面
都可以更改,样式会显示最后一个把最后一个删了或更改即可
至此全部配置完成可以将下载的配置文件夹删除了
可以实现代码补全,跳转,提示以及编译
调试部分用的是vscode的cpptools的插件快捷键在文件夹中
由于水平有限只能手动安装程序,有实力的选手可以自己写一个安装脚本一键安装
注:由于github连接问题可能加载不了图片所以所有的截图都放在了单独的文件夹中下载之后就能看了
精通 VIM ,此文就够了 - 知乎 (zhihu.com)
可以看看快速了解一下vim以及tmux
新增主题catppuccin/nvim还可以晚上看不错
想改的话可以在主题设置中将第一行取消注释require('colorschme')
将第二行注释掉就可以更改了改为gruvbox
或者在colorscheme.lua文件中更改自己喜欢的主题
tokyonight(星星也很高)和catppuccin/nvim效果差不多可以去看官方文档
5.1 starship+terminal+busybox
由于oh-my-posh启动速度太慢所以改为starship也可以起到美化作用并有参数提示提升速度,当然喜欢oh-my-posh主题的话也可以不换只是启动慢一点,不介意的话没有任何问题,可以去官网参考一下配置
可以在windows Terminal中用notepad $PORFILE
打开配置文件
#Invoke-Expression (&starship init powershell)
将第二行的#去注释把第一行注释掉就行,starship的配置文件放在C:\Users\用户名\ .config文件夹下创建一个名为starship.toml的文件或者直接复制粘贴配置文件夹中的文件
可以参考官网更更改
6. 快捷键设置
快捷键的话在~nvim\lua下面的keybindings.lua文件中
7. 补充
1. 不用go语言的话
添加了go语言的gopls但是安装需要设置一下
或者不用go语言的话在配置文件夹nvim/lua/lsp/setup.lua将
最后的gopls用-- gopls
注释掉就可以了
用go语言的话
需要修改系统环境变量
新建一个环境变量如下
之后确定,windows尽量重启一下
之后就可以自动安装了
要不然安装gopls的时候会报错
8. gdb调试
说明在这儿
C C Rust (gdb via vscode cpptools) · mfussenegger/nvim-dap Wiki (github.com)
vscode-cpptools的下载在这
Releases · microsoft/vscode-cpptools (github.com)
或者用nvim的Mason插件安装也可以