在VSCode中使用Vim模式
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": "/**",
}