leetcode使用什么vim插件来自动关闭括号?

Sea*_*ean 0 vim

我喜欢 leetcode vim 自动关闭大括号的方式。

  1. 当我输入时它会关闭" ' ( { [,这可以通过简单的 vim 地图来完成
  2. 当我尝试再关闭一个时,它不会添加另一个" ' ) } ] 并跳过。大多数 vim 插件都是这样工作的。
  3. 当我按 { 并输入时,它会自动为我的代码添加新行并为我缩进。再具体一点
{<cursor>}
Run Code Online (Sandbox Code Playgroud)

当我按回车键时,它变成

{
     cursor
}
Run Code Online (Sandbox Code Playgroud)

不知道哪个插件和leetcode vim一样好用。

另外,解决第二个问题的普通 vim 方法是什么?

我试图通过查看插件来分析,但它太复杂了。

dlm*_*tei 5

这些普通的 vim 映射将满足您的需求,尤其是最后两个很有趣。

inoremap " ""<left>
inoremap ' ''<left>
inoremap ( ()<left>
inoremap [ []<left>
inoremap { {}<left>
inoremap {<CR> {<CR>}<ESC>O
inoremap {;<CR> {<CR>};<ESC>O
Run Code Online (Sandbox Code Playgroud)

insert如果未设置,则此模式会自动set paste完成。当我们不需要映射时,我们需要在输入映射的字符之前使用ctrl+对其进行转义,例如等。v( {