C/C++ 案例语句的 Vim 映射

Vim map for C/C++ case statements

本文关键字:Vim 映射 语句 案例 C++      更新时间:2023-10-16

我想在 Vim 中为以下场景创建一个映射:

case blah: -->

按回车键 -->

case blah:{
}break;

我尝试做这样的事情:

inoremap case<Space><expression>:<CR> case<Space><expression>:{<CR>}break;<Esc>ko

但我不知道该怎么表达"表达"。 我会放什么? 它比这更复杂吗?谢谢!

你可能想看看我的 mu-template/lh-cpp 的开关和案例片段,以及来自枚举的开关生成器。要么从枚举自动填充大小写,要么我使用一个占位符,然后你可以跳到。

否则,理想的(简单)解决方案是映射输入并检测上下文是否cases+S+:s*。在这种情况下,您可以插入{n}nbreak;<up><up><c-f> .但此映射可能还必须识别来自一对{}内的 Enter 等等。