2013-03-13 6 views
6

私は私ののvimrcでこれを追加することでline wrapでVimのをオフにしている:私は*.texファイルを編集していたときにVimで特定のファイルタイプに対してのみ行折り返しを有効にするには?

set nowrap 

しかし、私はラインラップを持っていると思いますが自動的にオン。だから、私は自分のvimrcにこれを追加しました:ファイルタイプはTeXのように検出されたときに

augroup WrapLineInTeXFile 
    autocmd! 
    autocmd FileType tex set wrap 
augroup END 

これは、行の折り返しを有効にする必要があります。これはtexファイルで期待通りに動作しますが、同じVimセッションで非texファイルを開くと、行折り返しが有効になります!

Enabling and disabling word wrap automatically on different file extensions on Vimは、代わりにBufReadを使用することを示します。しかし、それでも同じ効果があります。最初にTeXファイルを開いてからTeX以外のファイルを開くと、TeX以外のファイルに行折り返しが有効になります。

特定のファイルタイプに対してのみ行折り返しを正しく有効にするにはどうすればよいですか?

答えて

5

これにはsetlocalを使用できます。現在のバッファにのみ影響します。

augroup WrapLineInTeXFile 
    autocmd! 
    autocmd FileType tex setlocal wrap 
augroup END 

これはすべての新しいTeXバッファに適用されます。

+0

ジム:私はsetlocalコマンドを認識していませんでした。ありがとう! –

3

'wrap'オプションは、ウィンドウのローカルです。 :setを使用すると、新しく開いたウィンドウにも適用されます。 :setlocalを使用します。

また、あなたの:augroup WrapLineInTeXFileは機能しますが、扱いにくく、多くの設定に拡張されません。 ~/.vimrc:filetype plugin onがある場合は、:setlocal wrapのようなファイルタイプ固有の設定を~/.vim/after/ftplugin/tex.vimに置くことができます(ディレクトリの後に、$VIMRUNTIME/ftplugin/tex.vimによって行われるデフォルトのファイルタイプ設定を上書きできます)。

+0

Ingo:この場合、私はそれを必要としませんが、あなたの提案は私のvimrcに設定を蓄積し続けると便利です:-) –

関連する問題