web-dev-qa-db-ja.com

.vimrc.localのtextwidth = 0およびwrapwidth = 0が尊重されない

.vimrc.localの下部に次の行があります。

set textwidth=0 
set wrapmargin=0

ただし、新しいファイルを開くと、これらの値は両方ともデフォルト(それぞれ、72と2)に設定され、カスタム設定ではありません。 .vimrc.localファイルの他の設定(タブなど)は設定されているように見えますが、これら2つだけがリセットされ続けます。 :source ~/.vimrc.localと入力すると、設定が変更され、正しく機能します。

Vimの起動時に何が設定されているかを確認する方法はありますか? MacVimまたはJanusに付属のプラグインまたは設定がこれらのオプションを設定していると思われますが、すべての設定を一度に確認する方法がわかりません。

11
Ian Potter

'textwidth'と 'wrapmargin'が最後に設定された場所を見つけるには、次を実行します。

:verbose set tw? wm?

ソースされているファイルを確認するには、を実行します

:scriptnames

それらが問題を見つけるのに十分でない場合は、Vimの起動時に-Vオプションを使用して、さまざまな起動イベントをファイルに記録できます。見る

:help -V

また、「textwidth」と「wrapmargin」のデフォルト値は両方とも0であり、72と2ではないため、すでに何かがそれらをデフォルト以外の値に設定しています。デフォルト値については、を参照してください。

:help 'textwidth'
:help 'wrapmargin'

追記
他に確認すべきことは、ファイルタイププラグインがこれらの設定を行っている可能性です。 :verbose set ...コマンドは、これらの設定が行われている場所を示す必要がありますが、実行することもできます

:set filetype?

現在のファイルタイプを確認するには、$VIMRUNTIME/ftplugin/<filetype>.vimを開きます。ここで、<filetype>は上記の「filetype」オプションの値であり、これらの設定がそこで行われているかどうかを確認します。 〜/ .vim/after/ftplugin/<filetype> .vimという名前の作成したファイルに設定を配置することで、ファイルタイププラグインによって行われた設定を上書きできます。見る

:help filetype-overrule

アイテム#3。

13
garyjohn

。vimrc.localファイルに以下を追加することでこれを解決しました:

" Disable annoying auto line break
fu! DisableBr()
    set wrap
    set linebreak
    set nolist  " list disables linebreak
    set textwidth=0
    set wrapmargin=0
    set fo-=t
endfu

" Disable line breaks for all file types
:au BufNewFile,BufRead *.* call DisableBr()

これにより、すべてのファイルタイプで不要な自動改行が無効になります

8

これは役立つはずです:

(たぶんBufAddBufCreateは冗長ですが、念のため追加しました)

function! DisableWrap()
    set nowrap
    set nolinebreak
    set formatoptions-=cro
endfunction
autocmd BufNew,BufAdd,BufCreate,VimEnter * call DisableWrap()
0
meain