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

时间:2012-03-31 01:53:03

标签: javascript vim

有类似的答案,但单行更多。我只是想在JavaScript中自动添加一个分号,如(pipe == cursor):

func(function(){|})

然后我按回车键进入

func(function(){
|})

我可以在该行的末尾添加;来获取:

func(function(){
|});

自动?

4 个答案:

答案 0 :(得分:1)

几年前我写了一个插件,endline.vim。默认映射主要用于GVim,但它很容易被覆盖,以便在终端vim中有用。它构造了一些键映射(默认情况下为<S-CR>)确实添加了一行(如果还没有),它会将你移动到下一行。在正常模式下,添加字符,但光标不移动。这个插件对C风格的语言和Python特别有用,使分号/冒号的繁琐更容易处理,特别是当你使用像autoclose.vim那样插入密切引号,parens等的脚本时。

答案 1 :(得分:1)

你应该试试cosco.vim:https://github.com/lfilho/cosco.vim

答案 2 :(得分:0)

不完全确定我完全理解你的问题,但......

:1$s/|/^v^m/g

^表示在键入下一个字母时按住控制键。但你不能同时附加分号。

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

答案 3 :(得分:0)

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

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>