一、基本键位映射
在配置 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)
标签:配置,ale,SpaceVim,vim,neomake,clang,myspacevim,before
From: https://www.cnblogs.com/7ytr5/p/18239489