繁体   English   中英

带有大括号的自动关闭插件issuse

[英]auto-close plugin issuse with curly brackets

我从终端将vim用作C ++ IDE,并且自动关闭大括号存在一些问题。 我正在使用vim-autoclose插件。

我的问题是,当我制作新函数并打开大括号时,光标没有返回到函数内部(大括号内),而是返回到函数的末尾。有什么办法可以解决此问题?

另外,当我创建一个新的类时,是否有任何方法可以自动在该类的右花括号处放置一个分号?

我见过的大多数autoclose插件都没有提供; class and struct上追加部分。 因此,我不使用~/.vimrc关闭和添加插件。

inoremap {;<CR> {<CR>};<ESC>O 

在输入class Test之后,输入{; 然后Enter将呈现

class Test {
    _ //cursor here
};

当然,需要从头开始启用indentation ,例如通过aicindent

这是更多映射,可能与vim-autoclose无关,在普通vim上可以正常工作。

inoremap " ""<left>
inoremap ' ''<left>
inoremap ( ()<left>
inoremap [ []<left>
inoremap { {}<left>
inoremap {<CR> {<CR>}<ESC>O
inoremap {;<CR> {<CR>};<ESC>O

最后一行给出

if (true) {
    _  //cursor
}

并且每当您不希望映射时,我们需要在键入mapped char之前使用Ctrl - v对其进行转义

希望这可以帮助

{classenumstruct处于同一行时,在敲击键时, {上的lh-cpp映射将插入分号。 我没有花时间做更高级的事情。

在所有情况下,光标都将返回到大括号对之间。 如果要换行,则必须点击<CR>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM