while ("im the true Vim master");

2009-06-19

Re: セミコロンで自動インデント - vim memo : eholic - vimグループ

20:52

set smarttab
set smartindent
au FileType c           call s:cF()
func! s:cF()
    set cindent
    set cinkeys+=;
endfunc
vim memo : eholic - vimグループ
set smarttab
set smartindent
autocmd FileType c  call s:cF()
function! s:cF()
  setlocal cindent
  setlocal cinkeys+=;
endfunction

Re: perlをvimで編集してるときに#コメントを編集した後に改行したらイラっとする問題 - うつくしいじんせいとかぎりないよろこびをかくばしょ - while ("im the true Vim master"); - vimグループも参照。

thincathinca2009/06/19 22:22s/augroup/autocmd/

ka-nachtka-nacht2009/06/20 03:07hehehe

eholiceholic2009/06/20 18:39訂正ありがとうございます.
http://vim-users.jp/2009/05/hack15/
みてたら意味が分かりました.

1度cのファイルを開くと,次のバッファ以降にオプションが適用されてしまうんですね.
しかし,cindentの方は新しいバッファ開いてもnocindentになるのは何故でしょう?

ka-nachtka-nacht2009/06/20 19:01> しかし,cindentの方は新しいバッファ開いてもnocindentになるのは何故でしょう?
どういう設定をされていてどういう手順でその結果が得られたのかが不明瞭なので答えようがありません。
強いて言えば'cindent'はデフォルトでオフなので特に設定されていない限りはnocindentになります。

eholiceholic2009/06/20 20:31>どういう設定をされていてどういう手順でその結果が得られたのかが不明瞭なので答えようがありません。
分かりにくくてすみません.
上記の設定や私の.vimrcとは関係なく,あるバッファを開き:set cindentとした後に,
:eで別のバッファに移り,set cindent?とするとnocindentと表示されました.
確かにデフォルト値がオフという事がポイントだと思いますが,
setでグローバルな値が変わっていないという所が疑問でした.
原因はファイルタイプがcと判別されないと自動的にnocindentになる所にあったようです.
詳しい事は素人vim使いなので分かりませんが,
とりあえず,特定の拡張子の設定にsetを使ってはいけない事は分かりましたn_ _n

ka-nachtka-nacht2009/06/20 20:41> 上記の設定や私の.vimrcとは関係なく,あるバッファを開き:set cindentとした後に,
> :eで別のバッファに移り,set cindent?とするとnocindentと表示されました.
本当ですか? そんなことはないはずです。Vimを無設定のデフォルト状態で起動し(vim -u NONE)、以下の手順を試してみてください:
:edit a
:setglobal cindent? " nocindent
:setlocal cindent? " nocindent
:set cindent
:setglobal cindent? " cindent
:setlocal cindent? " cindent
:edit b
:setglobal cindent? " cindent
:setlocal cindent? " cindent

eholiceholic2009/06/20 21:02重ね重ね申し訳ありません.
vim -u NONEで上記の結果が確認できました.
.vimrcは関係なかったのでどこかのpluginが悪さをしていたみたいです.
すっきりしました^^ありがとうございます.

トラックバック - http://vim.g.hatena.ne.jp/ka-nacht/20090619
最近のコメント
あわせて読みたいブログパーツ
AX