.vimrc.localのtextwidth = 0およびwrapwidth = 0が尊重されていません


11

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

set textwidth=0 
set wrapmargin=0

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

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


今まで見たことがなかった~/.vimrc.local私が見つけたJanusバージョンはvimrcファイルの最後(存在する場合)でソースされます(~/.vimrcインストール方法を使用する場合、インストールされるシンボリックリンクの宛先です)。Janusのすべてのバージョンがこれを行うとは限りません。多くの人が、私が見つけたバージョンをフォークにマージしているようですが、これが「公式」バージョンであるかどうかはわかりません。明確にするために、ヤヌスはどこで入手しましたか?Gitベースのコミットの場合、どのコミットを使用していますか?
Chris Johnsen

回答:


13

「textwidth」と「wrapmargin」が最後に設定された場所を確認するには、次を実行します。

:verbose set tw? wm?

どのファイルがソースされているかを確認するには、次を実行します。

:scriptnames

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

:help -V

また、「textwidth」と「wrapmargin」のデフォルト値はどちらも0であり、72と2ではありません。そのため、すでに何かがデフォルト以外の値に設定しています。デフォルト値については、

:help 'textwidth'
:help 'wrapmargin'

PS
チェックすべき他の何かは、ファイルタイププラグインがそれらの設定を行っている可能性です。:verbose set ...コマンドは、これらの設定が行われているが、あなたはまた、実行することができる場所を示す必要があります

:set filetype?

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

:help filetype-overrule

アイテム#3。


問題は、~/.vimrcJanusからのにあることが判明しました。source ~/.vimrc.localが最後に実行されることを期待していましたが、auコマンドでこれら2つを設定していました。の設定に~/.vimrcは、Janusを管理する人々のスタイルの選択肢がたくさん含まれているようです。今後、これらの問題のトラブルシューティングに役立つ回答を書いていただき、ありがとうございます。:)
イアン・ポッター

1
ヤヌスのこの問題のため、私もここに来ました。ただし、最新のJanus ~/.vimrc.afterは最後に実行されますが、たとえば、Python固有のアクションが発生していたためau FileType python set softtabstop=4 tabstop=4 shiftwidth=4 textwidth=0、単にset textwidth=0そのファイルではなく使用する必要があったことに注意してください。
philfreo

8

私は.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()

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


1
Janusを使用すると.vimrc.afterで動作します
Eric Yang

1
フザー、ありがとう!これは私のために働いた唯一のものでした。何らかの理由で(私は解決できませんでした)macvimは、vimrcの.txtファイルのテキスト幅を上書きしていました。
マットは、

0

これは役立つはずです:

(多分BufAddそれBufCreateは冗長ですが、念のために追加しました)

function! DisableWrap()
    set nowrap
    set nolinebreak
    set formatoptions-=cro
endfunction
autocmd BufNew,BufAdd,BufCreate,VimEnter * call DisableWrap()
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.