2011-02-27 29 views
13

これは間違った質問ですが、インターネット(またはVIMヘルプ)で回答が見つかりません。私は私がしたいすべてが72文字で私の行を折り返すではMac OS X上でVIM 7.2を使用して、しかしVIM textwidthは効果がありません

:set textwidth=72 

やっても効果はありません。 textwidthは正しく設定されています(私は単に ":set textwidth"を照会するとわかります)が、textwidthを設定した後に入力した既存の行も新しい行も折り返されません。私が新しい行を始めると、まだラップしません。ファイルを開いて閉じます。変更はありません。私はまた試みました:効果なしでwrapmargin = 72(textwidth = 0)を設定してください。

私はここで何が欠けていますか?

:set formatexpr? 
:set indentexpr? 
:set cindent? 
:set filetype? 
:set paste? 
:filetype 

印刷を何

答えて

8

textwidthの設定は、少なくとも1つ(と私はそれらのすべてが)上書きされます。

たとえば、Cソースファイルを編集する場合、Cインデントルールはtextwidthを上書きします。

+2

の詳細については:h fo-tableを参照してください。また 'てみてください:セットペーストを'?。それも干渉することができます。 – patrickvacek

+0

私にとっては、リーダー配列にマップされたのは ':set paste'でした。ありがとう@patrickvacek – OregonTrail

5

Vimは要求されない限り何もしません。 (コメントではない)、c(コメントのみ)、またはその両方がformatoptionsにある場合(aが存在しない場合は、余白に達したときにのみ自動折り返しを行います)、textwidthは現在編集されている行に影響しますtextwidthで設定)、またはgqを使用してテキストを再フォーマットした場合。間違っていない場合は、またはformatprgと設定して、textwidthを無視します。

9

gggqGを試して、新しいテキスト幅をバッファ全体に適用してください。

  • gg

    は意味:それは意志(バッファ

の終わりに行く:

  • gqを意味し、バッファの先頭に移動:テキストが
  • Gは意味の動きに含ま再フォーマットフォーマットオプションが正しく設定されていれば動作します)

    一方、既存のテキストを表示することもできますファイルの先頭または末尾にmodelineを追加して、72文字の幅を指定します。 :help modeline

    vim:tw=72のようなものが動作するはずです。

  • 6

    私はVIMドキュメントで解決策を見つける前に、同じ質問に対する回答を探していました。だから、私はスレッドを更新し、他の時間を節約すると思った。

    私の場合の問題は、デフォルトのftpluginがtextwidthを無効にしていたことでした。

    vimrcの後にfpluginsがソースされているため、.vimrcを()で更新するだけでは機能しません。ここで

    は私が続く手順は次のとおりです。

    1)何をあなたの現在のformatoptionsを見つけるには)vimの内部で(

    :set formatoptions? 
    formatoptions=croql (note no 't') 
    

    2)vimdocs(http://vimdoc.sourceforge.net/htmldoc/filetype.html#ftplugin-overruleによって提案されたfiletype.vimファイルを作成します)

    Overrule the settings after loading the global plugin. 
    You must create a new filetype plugin in a directory from the end of 
    'runtimepath'. For Unix, for example, you could use this file: 
        vim ~/.vim/after/ftplugin/fortran.vim 
    In this file you can change just those settings that you want to change. 
    

    3)の行を追加します。:set formatoptions+=t & &そのファイル内の0。

    Voila!次回にファイルを開くと、textwidthが目的の文字に設定されます。

    デバッグの助けとして、あなたのコマンドに冗長を付けることで、どのファイルがあなたのvimrc設定を無効にしているかをいつでも確認できます。従って、例えば。私は最後のformatoptionsを更新誰がチェックしたい場合は、私は

    :verbose set formatoptions? 
    formatoptions=croqlt 
    Last set from ~/.vim/after/ftplugin/fortan.vim 
    
    1
    set formatoptions+=t 
    

    Thisを入力し、あなたに

    0

    を助けるかもしれない、私はこれと同じ問題を持っていたし、次は私のために十分な問題を解決しましたが見つかりました:

    autocmd FileType python setlocal textwidth=79 formatoptions+=t 
    

    (例えば*またはカンマ区切りリストpython,ruby,go,sh,javascript)選択のあなたのファイルタイプであることをpython自由に変更してください

    formatoptions

    関連する問題