2

を使用して Vim で新しい行を開きたいときはいつでもo、(行頭から開始するのではなく) 自動的にインデントします。何故ですか?どうすればこれを修正できますか? (自動インデントをオフにしたくありません。これは、他のファイルの種類に最適です。)

アップデート:

実際のテキストと関係があるようです: auto-indenting ( =) the following two lines indents the second line (なぜ? -- 両方の行を列 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 に答える