三、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 文件;
  • spacevimchecker 模块使用 neomakeale,可能是这两个检查器的问题。

经过排查,确定是 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)
posted @   7hu95b  阅读(74)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示