vimがコードをラップしないようにできないのはなぜですか?


115

vimがPythonコードをラップするのを止めることはできません。:set nowrapチャンピオンのように入ると、それでもラッピングします。

Jコードの分割された行を結合するためにヒットすることができるので、実際の改行が挿入されているようです。なぜそれを止めるのか、どうやって止めればよいのか、私には理解できません。


15
:set nowrap改行の挿入ではなく、行の表示の折り返しを防ぐだけです。
ラピオン

回答:


115
'textwidth' 'tw'        number  (default 0)
                        local to buffer
                        {not in Vi}
        Maximum width of text that is being inserted.  A longer line will be
        broken after white space to get this width.  A zero value disables
        this.  'textwidth' is set to 0 when the 'paste' option is set.  When
        'textwidth' is zero, 'wrapmargin' may be used.  See also
        'formatoptions' and |ins-textwidth|.
        When 'formatexpr' is set it will be used to break the line.
        NOTE: This option is set to 0 when 'compatible' is set.


'wrapmargin' 'wm'       number  (default 0) 
                        local to buffer
        Number of characters from the right window border where wrapping
        starts.  When typing text beyond this limit, an <EOL> will be inserted
        and inserting continues on the next line.
        Options that add a margin, such as 'number' and 'foldcolumn', cause
        the text width to be further reduced.  This is Vi compatible.
        When 'textwidth' is non-zero, this option is not used. 
        See also 'formatoptions' and |ins-textwidth|.  {Vi: works differently
        and less usefully}

それらを次の行に送る長い行の自動折り返しを参照する場合は、試してください

:set textwidth=0 
:set wrapmargin=0

12
一部のプラグインはこの設定を上書きするようです。
イズミールラミレス

twそしてwp私は行かなければならなかったので、選択肢は本当に私のためにうまくいかなかったformatoptions github.com/ain/.vim/blob/...
アインTohvri

2
TWとWPはまだ問題が解決しない場合は、私は私の問題を解決する助けSU上でこの記事を見て:superuser.com/questions/250112/...
Alien_SM

3
filetype plugin on私から取り除く.vimrcことは私のためにそれをしました。

1
この回答では、を使用gqして段落を手動でテキスト幅に再調整することはできません。@Engineeroは正しいものである必要があります。
Dylanthepiguy

86

他の答えはどれもうまくいきませんでした(IDKの理由)。

:set wrap! (GVim for Windowsを使用して)私にとってはトリックでした。


8
これにより、少し異なる問題が解決されます。wrap行の折り返しのように見えますが、実際にはテキストを新しい行分割しません。おそらくwrap有効にしていたので:set wrap!、オフに切り替えました。:set wrap?現在の値をエコーするかどうかを確認できます(つまり、wrapまたはnowrap)。
シャドウトーカー2016年

1
このソリューションは、Mac OsXで私に役立ちます。Vimバージョン7.4
Shnkc 2017

これは私にとってはうまくいきました、私は最初に変更textwidthしましたwrapmarginが、これは実際にはvimを改行せずに更新して再レンダリングすることを強制しました。
クレデンス

ディンディンディン!neovimで動作
Gjaa

本当に必要なコマンドが非常に表現力豊かでシンプルであることがわかると、なんと不思議な瞬間でしょう。おかげで開発者
キャピタンエンパナーダ

57

set formatoptions-=tトリックを行う必要があります。set formatoptions+=t自動折り返しをオンに戻します。

何ができるかformatoptionsについての詳細は、ドキュメントを参照してください。


2
ありがとうございました!あなたの解決策は私のために働いた唯一のものです。挿入モードに入ったときにvimが改行を挿入しないことがある。
ジェレミア2018

2
うん。これが本当の解決策です。
ラスベイトマン2018

16

vimが長い行を折り返すのを防ぐために、次の2行をmyで使用します.vimrc

set nowrap           " do not automatically wrap on load
set formatoptions-=t " do not automatically wrap text when typing

12

行の折り返しを無効にするには、:set wrap!このコマンドを入力する か、に追加します~/.vimrc


2
これは、この質問についての実際の改行の自動挿入には影響しません。
Arthur Tacca

9

多分それは設定されたテキスト幅で、それが特定の長さに達したときに自動的に改行します

:set tw=0

それが失敗した場合、例えば

:set wrap linebreak textwidth=0 

そして

:set virtualedit=insert

2
wrapとlinebreakは実際の行末をバッファに挿入しないので、それは彼の問題ではないようです。
A.レビー


0

vimrc_example.vimを開き(はい、これはVim74のファイルです)、textwidth = 0を設定します。


0

Macbook Proでは、.vimrcの行でコメントアウトしました

autocmd FileType text setlocal textwidth=78

そうなった

"  autocmd FileType text setlocal textwidth=78

(私はhomebrew経由でvimのバージョンをインストールしました。)これはすべての.txtファイルに役立ちました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.