thinca
たしかに、それを考慮すると、setglobal 使った方がいいですね
:help :setglobalバッファ/ウィンドウについてローカルなオプションに対して:
http://lingr.com/room/vim/archives/2014/11/29#message-20730758
コマンド グローバルな値 ローカルな値 ~
:set オプション=値 設定される 設定される
:setlocal オプション=値 なし 設定される
:setglobal オプション=値 設定される なし
:set オプション? なし 表示される
:setlocal オプション? なし 表示される
:setglobal オプション? 表示される なし
s_of_p
これだけ読むと fileencoding のグローバル値がないように見えますね。rbtnn
さっきの話だとグローバルなfileencodingとローカルなfileencodingがあるって話じゃなかったでしたっけ?thinca
http://lingr.com/room/vim/archives/2014/11/29#message-20730854
いや、全てのオプションにグローバルな値はある
thinca
バッファについてローカル
と
グローバルまたはバッファについてローカル
があり(バッファではなくウィンドウについてローカルもある)、両者で意味が違う
まず、どちらもグローバルな値はある> バッファについてローカル
こちらの場合は、新しいバッファが開かれた時点で、グローバルの値がこのバッファの値としてコピーされる
コピーされるので、その後でグローバルな値がいくら変更されても、すでにあるバッファの値に影響はない> グローバルまたはバッファについてローカル
こちらの場合は、特にコピーされず、バッファローカルな値が存在しない場合はグローバルな値が使われるsetlocal でバッファローカルな値を設定した場合は、そちらが使われる。 setlocal hoge< などで、バッファローカルな値を消すこともできる。そうすると再びグローバルな値が参照される
ローカルな値がない場合はグローバルな値が参照されるので、グローバルな値を変更したらそれに追従する
statusline などがいい例 > グローバルまたはバッファについてローカル
statusline はウィンドウについてローカルだけどrbtnn
http://lingr.com/room/vim/archives/2014/11/29#message-20730865
hm
全てのオプションはグローバルな値を持っていて、「バッファについてローカル」と「グローバルまたはバッファについてローカル」の違いは最初にコピーされるかされないか。