2

每当我想在 Vim 中打开一个新行时o,它会自动缩进(而不是从行首开始)。这是为什么?我怎样才能解决这个问题?(我不想关闭自动缩进,这对其他文件类型非常有用。)

更新:

它似乎与实际文本有关:自动缩进(=)以下两行缩进第二行(为什么?--我希望这两行都从第 1 列开始!)

*in golf: failing to make par is a loss, missing a birdie putt is a foregone gain, not a loss
*negotiations, especially renegotiations: concessions you make cause you much more pain      

更新2(我的.vimrc):

:set cpoptions+=$
:set virtualedit=all
:filetype plugin indent on
:set foldexpr=getline(v:lnum)=~'^\\s*$'&&getline(v:lnum+1)=~'\\S'?'<1':1
:set fdm=expr
:set gfn=Ubuntu\ Mono\ 11
setlocal autoindent
setlocal cindent
setlocal cinwords=if,else,elseif,do,while,foreach,for,case,default,function,class,interface,abstract,private,public,protected,final
setlocal cinkeys=0{,0},0),!^F,o,O,e
setlocal nosmartindent " don't use smart indent option
4

1 回答 1

1

您可以将选项设置为仅对特定文件生效。例如,我的 vimrc 中有以下内容:

if has("autocmd")
    augroup LISP
        au!
        au BufReadPost *.cl :set autoindent
    augroup END
    augroup C
        au!
        autocmd BufNewFile,BufRead *.cpp set formatprg=c:\\AStyle\\bin\\AStyle.exe\ -A4Sm0pHUk3s4
    augroup END
endif

使用它,我可以打开自动缩进,或文件格式化,或任何有意义的文件,但一般不打开它,当它在其他情况下可能会惹恼我时。在这种情况下,我为 .cl 文件打开自动缩进,但不一定为其他文件。

理论上,您也可以使用相同的方法关闭 .txt 文件的自动缩进。

于 2012-08-03T14:04:54.653 回答