三、SpaceVim配置
一、基本键位映射
在配置 vim 的快捷键时,需要掌握基本键位的描述符。除了基本的 <CR>, <ESC>, <SPACE>, <C-..>
外,补充下列常用映射表:
<k0> - <k9>
小键盘数字 0-9<BS>
退格键backspace
<S-...>
代表shift
<M-...>
或<A-...>
Windows 和 Linux 下代表alt/meta
键,在 macOS 上是option
键<D-...>
macOS 的command
键<Insert>
代表insert
按键<Del>
代表delete
按键
二、导入 vim script 设置
比如设置 vim
本身快捷键等操作,不能在 [option]
中直接设置,需要间接完成。在 .SpaceVim.d/init.toml
中:
[options]
bootstrap_before = "myspacevim#before"
bootstrap_after = "myspacevim#after"
对应地,在 .SpaceVim.d/autoload/myspacevim.vim
中写入:
function! myspacevim#before() abort
let g:neomake_enabled_c_makers = ['clang']
nnoremap jk <esc>
endf
function! myspacevim#after() abort
endf
建议把需要添加的内容放在 #after
中,如果放在 #before
中会导致打开时使用的卡顿。
三、读取 cmake_command.json
spacevim 不能自动读取 cmake 生成的 json 文件,导致代码中头文件等显示报错。自己推测可能的问题是:
clang
不能读取此json
文件;spacevim
中checker
模块使用neomake
或ale
,可能是这两个检查器的问题。
经过排查,确定是 neomake
的问题。之前有过 ale
的配置经验,所以先行切换为 ale
进行设置。切换为 ale
后(在 [options]
中添加 lint_engine = "ale"
),头文件包含问题解决。
暂时没有找到相关设置 neomake
的方法 ,不过在这里提供一种思路,把生成的 cmake_command.json
手动写入 .clang
文件中,这样 neomake
就能读取此文件了。可以使用 pkg-config
的方式,这样就避免了手动添加的麻烦。下面这是一个 .clang
文件的例子。
-std=c++11
$(pkg-config --cflags --libs opencv4)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!