Javascript 在vim中的块末尾返回时自动添加分号

Javascript 在vim中的块末尾返回时自动添加分号,javascript,vim,Javascript,Vim,有相似的答案,但有更多的单行。我只想在JavaScript中自动向块中添加分号,如(管道==光标): 然后我按下回车键,我得到 func(function(){ |}) 我可以添加一个到该行的末尾以获取: func(function(){ |}); 自动?不完全确定我是否完全理解您的问题,但 :1$s/|/^v^m/g ^表示在键入下一个字母时按住控制键。但不能同时附加分号 :1,$s/)$/);/g 几年前我为此写了一个插件。默认映射主要用于GVim,但它很容易被覆盖,以便在终端vim

有相似的答案,但有更多的单行。我只想在JavaScript中自动向块中添加分号,如(管道==光标):

然后我按下回车键,我得到

func(function(){
|})
我可以添加一个
到该行的末尾以获取:

func(function(){
|});

自动?

不完全确定我是否完全理解您的问题,但

:1$s/|/^v^m/g
^表示在键入下一个字母时按住控制键。但不能同时附加分号

:1,$s/)$/);/g

几年前我为此写了一个插件。默认映射主要用于GVim,但它很容易被覆盖,以便在终端vim中使用。它会创建一些键映射(默认情况下为
),如果没有一行结尾,它会添加一行结尾,并将您移动到下一行。在正常模式下,添加字符,但光标不移动。这个插件对C风格的语言和Python特别有用,使冗长的分号/冒号更容易处理,特别是当您使用插入右引号、括号等的脚本时。

我使用以下映射在点击
{}
“正确”(TextMate方式)时打开

inoremap k
您可以将其修改为同时添加分号:

inoremap <C-Return> <C-o>m`<C-o>A;<C-o>``<CR><CR><C-o>k<Tab>
inoremap m`A``K

您应该尝试一下cosco.vim:

但中远似乎不善于猜测逗号或分号的顺序。这有助于改进其引擎。毕竟这是一个开源插件…:-)回顾我之前的评论,感觉有点刺耳。这不是我的意图:)。对于像javascript这样的语言来说,从vim插件要求完成上下文敏感的任务太多了,如果没有像ternjs这样的工具,很难正确完成。我非常感谢你在这方面所作的努力。
inoremap <C-Return> <CR><CR><C-o>k<Tab>
inoremap <C-Return> <C-o>m`<C-o>A;<C-o>``<CR><CR><C-o>k<Tab>