Vim 打开一行(';o';)自动缩进-如何避免在.txt文件中出现缩进?
每当我想在Vim中用o打开新行时,它会自动缩进(而不是从行的开头开始)。为什么呢?我怎样才能解决这个问题? (我不想关闭自动缩进,这对于其他文件类型来说非常好。) 更新: 这似乎与实际文本有关:自动缩进(Vim 打开一行(';o';)自动缩进-如何避免在.txt文件中出现缩进?,vim,Vim,每当我想在Vim中用o打开新行时,它会自动缩进(而不是从行的开头开始)。为什么呢?我怎样才能解决这个问题? (我不想关闭自动缩进,这对于其他文件类型来说非常好。) 更新: 这似乎与实际文本有关:自动缩进(=)以下两行缩进第二行(为什么?--我希望两行都从第1列开始!) 更新2(my.vimrc): :设置cpoptions+=$ :set virtualdit=all :文件类型插件缩进打开 :set foldexpr=getline(v:lnum)=~'^\\s*$'&&getline(v:l
=
)以下两行缩进第二行(为什么?--我希望两行都从第1列开始!)
更新2(my.vimrc):
:设置cpoptions+=$
:set virtualdit=all
:文件类型插件缩进打开
:set foldexpr=getline(v:lnum)=~'^\\s*$'&&getline(v:lnum+1)=~'\\s'?'您可以将选项设置为仅对特定文件生效。例如,我的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文件的自动缩进。使用空白运行Vim。vimrc
($Vim-u NONE
)不会对我显示这种行为,我的个人.vimrc
也不会出现这种情况。我猜是你的.vimrc
中有什么东西导致了这种情况。你是否启用了cindent
,如果启用,那么cinoptions
的值是多少?@David:我已经附加了我的.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
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