Vim:开始新行后的额外选项卡

Vim:开始新行后的额外选项卡,vim,Vim,我正在为我的.vimrc中的php类文件执行“autocmd BufNewFile”。 我需要实现标准方法,我想把它们写在一行中。这是我的问题,当我在单行函数后按“o”键开始换行时,我会得到一个“额外选项卡”,它会破坏我的识别 // "one line" example Class Example { // 0 tab function foo() {return ('foo');}

我正在为我的.vimrc中的php类文件执行“autocmd BufNewFile”。 我需要实现标准方法,我想把它们写在一行中。这是我的问题,当我在单行函数后按“o”键开始换行时,我会得到一个“额外选项卡”,它会破坏我的识别

    // "one line" example
    Class Example {                                    // 0 tab
        function foo() {return ('foo');}               //1 tab
            function fuu(){}                           //2 tab, I want 1 ofc.
    }

    // discusting example without bug
    Class Example {                                   // 0 tab
        function foo() {return ('foo');               // 1 tab
        }                                             // 1 tab
        function fuu(){}                              // 1 tab
    }
有没有人有想法让这项工作成为例证

下面是我的.vimrc的有趣部分

    set tabstop=4
    set softtabstop=0 noexpandtab
    set shiftwidth=4
    set term=xterm-256color
    syntax on
    set nowrap
    set mouse=a
    set ruler
    set colorcolumn=80
    set showmatch
    set list
    " Showing tab
    set listchars=tab:>-,trail:-
    highlight SpecialKey guifg=grey ctermfg=darkgrey


    set nocompatible
    set number

    "Better command completion
    set wildmenu
    set wildmode=list:longest

这个问题似乎与其他问题有关


<> >如果代码>设置ft= html >代码>或<代码>设置ft= ptML不能解决你的问题,你应该考虑试用其中一个插件:或者

你启用了自动缩进吗?试着用
:se ai启用它,看看它是否能改善情况。对不起,我只是注意到我的问题更多。。神秘的我认为这是一个奇怪的“稳定”错误,但不是,它只是在单行函数后随机识别一个或两个选项卡。。。也许是一个奇怪的插件或什么的,我会自己找到一些修复。无论如何谢谢你!