VSCode作为前端,NeoVim作为后端通过 VSCode中的插件
VSCode Neovim
实现。相比VSCode中的其他Vim模拟器插件性能更好
1. 环境说明
- 操作系统:Windows 10 专业版 22H2
- VSCode版本:1.103.2
- NeoVim版本:v0.11.4
- VSCode Neovim:1.18.24
2. 安装NeoVim及配置
默认已安装好NeoVim,如不知道自行百度
安装 NeoVim 插件管理器 vim-plug 建议开启科学上net
iwr -useb https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim |`
ni "$(@($env:XDG_DATA_HOME, $env:LOCALAPPDATA)[$null -eq $env:XDG_DATA_HOME])/nvim-data/site/autoload/plug.vim" -Force
NeoVim的配置文件夹路径
C:\Users\<用户名>\AppData\Local\nvim\
如果Local文件夹中发现没有nvim文件夹,自己新建nvim文件夹。需要添加 NeoVim 配置文件,Windows 的 NeoVim 配置文件在 C:/Users/(你的用户名)/AppData/Local/nvim/init.vim
,如果路径不存在,则新建
新建 init.vim
文件之后在文件中写以下内容
call plug#begin()
Plug 'tpope/vim-surround'
call plug#end()
然后打开NeoVim 输入 :PlugInstall
来安装 Vim插件 (需要安装git)
3. 安装VSCode NeoVim插件及配置
在VSCode 插件商城搜索VSCode Neovim
如下图所示
独立进程 为了性能更优, 建议使用单独的进程运行 VSCode Neovim 插件: Extensions > Experimental: Affinity
还需设置NeoVim 安装路径,你需要改成你的电脑上安装NeoVim程序的路径
Vscode-neovim › Neovim Executable Paths: Win32
添加 NeoVim程序的路径
C:\\Program Files\\Neovim\\bin\\nvim.exe
VSCode Neovim插件和 Neovim程序 不使用同一个 init.vim
配置文件,所以这里做区分
设置VSCode NeoVim配置文件 init.vim
路径 ,这个需要自己新建init.vim配置文件,新建配置文件的地方不做要求
让 VSCode Neovim 插件知道配置文件的路径 Vscode-neovim › Neovim Init Vim Paths: Win32
我自己新建在如图所示的位置
4. VSCode快捷键设置
// 将键绑定放在此文件中以覆盖默认值
[
// 任务:运行生成任务
{
"key": "alt+b",
"command": "workbench.action.tasks.build",
"when": "taskCommandsRegistered"
},
{
"key": "ctrl+shift+b",
"command": "-workbench.action.tasks.build",
"when": "taskCommandsRegistered"
},
// 查看:切换主侧栏可见性
{
"key": "ctrl+shift+b",
"command": "workbench.action.toggleSidebarVisibility"
},
{
"key": "ctrl+b",
"command": "-workbench.action.toggleSidebarVisibility"
}
]
5. 个人配置的VSCode
{
// 关闭本地历史记录功能
"workbench.localHistory.enabled": false,
// 自动保存
"files.autoSave": "afterDelay",
// 自动格式化的设置
"editor.formatOnPaste": true,
"editor.formatOnSave": true,
// 字体设置 (需自行下JetBrains Mono字体)
"editor.fontFamily": "JetBrains Mono, 'Courier New', monospace",
"editor.fontSize": 18,
"editor.fontLigatures": true,
// 主题设置
"workbench.colorTheme": "One Dark Pro",
// 启用自动猜测编码
"files.autoGuessEncoding": true,
// 平滑滚动和光标闪烁的设置
"editor.smoothScrolling": true,
"workbench.list.smoothScrolling": true,
"editor.cursorBlinking": "smooth",
"editor.cursorSmoothCaretAnimation": "on",
// 自动换行功能(但还是同一行, 视觉上效果)
"editor.wordWrap": "on",
// 按下回车键时如何接受代码建议的行为
"editor.acceptSuggestionOnEnter": "smart",
// 建议列表中如何预先选择建议
"editor.suggestSelection": "recentlyUsed",
// 启用自定义对话框样式
"window.dialogStyle": "custom",
// 控制着是否在编辑器的概览标尺中显示断点标记
"debug.showBreakpointsInOverviewRuler": true,
// 显示匹配的括号对
"editor.guides.bracketPairs": "active",
// 新建文件时的默认语言类型
"files.defaultLanguage": "${activeEditorLanguage}",
// 控制编辑器在键入一行后是否自动格式化该行。
"editor.formatOnType": true,
// 排除指定文件或文件夹的配置
"files.exclude": {
".vscode": true
},
// 设置行号的显示格式
"editor.lineNumbers": "relative",
// 设置菜单栏的可见性
"window.menuBarVisibility": "compact",
// 设置活动栏(Activity Bar)的位置
"workbench.activityBar.location": "bottom",
// 禁止在资源管理器中删除文件时显示确认提示
"explorer.confirmDelete": false,
// VSCode NeoVim插件设置
"extensions.experimental.affinity": {
"asvetliakov.vscode-neovim": 1
},
"vscode-neovim.neovimExecutablePaths.win32": "C:\\Program Files\\Neovim\\bin\\nvim.exe",
"vscode-neovim.neovimInitVimPaths.win32": "C:\\Users\\admin\\init.vim",
"vscode-neovim.compositeKeys": {
"jj": {
"command": "vscode-neovim.lua",
"args": [
"vim.api.nvim_input('<ESC>')\nrequire('vscode-neovim').action('workbench.action.files.save')"
]
},
"jk": {
"command": "vscode-neovim.escape"
}
},
// Code Runner插件设置
"code-runner.runInTerminal": true,
// C/C++ 插件设置
"C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: Google, AccessModifierOffset: -4, AllowShortFunctionsOnASingleLine: Empty, AllowShortLambdasOnASingleLine: Empty, IndentWidth: 4, ObjCBlockIndentWidth: 4 }",
"C_Cpp.clang_format_style": "{ BasedOnStyle: Google, AccessModifierOffset: -4, AllowShortFunctionsOnASingleLine: Empty, AllowShortLambdasOnASingleLine: Empty, IndentWidth: 4, ObjCBlockIndentWidth: 4 }",
"C_Cpp.doxygen.generatedStyle": "/**",
}