Vim:开始换行后的额外标签

时间:2017-04-12 07:08:34

标签: vim

我正在做一个" autocmd BufNewFile"我的.vimrc中的php类文件。 我需要实现标准方法,我想在一行中编写它们。这是我的问题,当我按下' o'在一个oneline函数后开始换行,我得到一个"额外的标签"谁毁了我的身份。

    // "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

1 个答案:

答案 0 :(得分:0)

此问题与this相关。

如果set ft=htmlset ft=phtml无法解决您的问题,您应该考虑尝试其中一个插件:http://www.vim.org/scripts/script.php?script_id=604https://github.com/2072/PHP-Indenting-for-VIm