2011-01-13 12 views
7

を考慮して設定とSETLの違い私は後者が唯一のオプションの毛皮を電流バッファを設定しながら、最初のものは、すべてのバッファのオプションを設定することでVIMは、setsetl差を行うことを理解。これは、:setl tw=80とは対照的に、:set tw=80を行うと明らかです。VIM:ファイルタイプ

:set ft=plsqlを実行すると、setlを実行していませんでしたが、現在のバッファでのみ処理されます。これは当然のことです。しかし、私はこれがどこかに書かれているかどうかは分からない。つまり、デフォルトでは現在のバッファで動作し、他のオペレーションは「どこでも」動作し、どこに文書化されているのでしょうか?

答えて

11

実際には現在のバッファ(実際には現在のウィンドウ)を操作するオプションがあります。ドキュメンテーションは、オプションのドキュメントに記載されています。

global 
local to window 
local to buffer 

(またはそれらの組み合わせ):あなたが:help option-list内の任意のオプションに行けば、それはサードっぽいラインとして、以下の3つの文字列のいずれかを持っています。例えば、:help 'ft'が与える:

    *'filetype'* *'ft'* 
'filetype' 'ft'  string (default: "") 
      local to buffer 
      {not in Vi} 
      {not available when compiled without the |+autocmd| 
      feature} 
    When this option is set, the FileType autocommand event is triggered. 
    All autocommands that match with the value of this option will be 
    executed. Thus the value of 'filetype' is used in place of the file 
    name. 

をので、このオプションはバッファローカルです。より多くの議論については、以下を参照してください。あなたはvimの中で新しいバッファを読んだとき

:help option-summary 
0

、または別のバッファから移動し、Vimは再評価され、そのバッファ内のファイルのファイルタイプをBufEnterと同等のものを、トリガされます。あなたは〜/ .vimにftdetectディレクトリを吹き飛ばし、au BufRead,BufNewFile,BufEnter * set filetype=plsqlだけを含むファイルに置き換えることで、この動作を無効にすることができます。その時点で、すべてのファイルがSQLとして読み込まれます。すべてのファイルタイプの検出を解除する場合、自動コマンドは決して起動しません。

関連する問題