Neden vim'in kodumu sarmalamasını engelleyemiyorum?


116

Vim'in Python kodumu sarmalamasını engelleyemiyorum. Ben girerseniz :set nowrapbir şampiyon gibi, ama yine de sarar.

JBölünmüş kod satırlarını birleştirmek için vurabilirim , bu yüzden gerçek bir satır başı ekleniyor gibi görünüyor. Sadece neden veya nasıl durdurulacağını anlamıyorum.


15
:set nowrapsatır sonu eklemesini değil, yalnızca satırların görüntüsünü kaydırmasını engeller.
— rampion

Yanıtlar:


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}

Uzun satırların otomatik olarak kaydırılarak bir sonrakine gönderilmesinden bahsediyorsanız, şunu deneyin:

:set textwidth=0 
:set wrapmargin=0

12
Bazı eklentiler bu ayarı geçersiz kılıyor gibi görünüyor.
— Yzmir Ramirez

twVe wpben gitmek zorunda seçenekleri gerçekten benim için iş vermedi formatoptions github.com/ain/.vim/blob/...
— Ain Tohvri

2
Tw ve wp hala sorunu çözmezse, SU'daki bu
— gönderiye

3
Çıkarma filetype plugin onne biz den .vimrcbenim için yaptı.

1
Bu cevapla, gqparagrafı manuel olarak metin genişliğine yeniden hizalamak için kullanamazsınız . @ Engineero's doğru olanı olmalıdır.
— Dylanthepiguy

86

Diğer cevapların hiçbiri benim için işe yaramadı (IDK neden).

:set wrap! Benim için hile yaptım (Windows için GVim kullanarak).


8
Bu biraz farklı bir sorunu çözer. wraphat sarma görünümünü sağlar, ancak vermez aslında yeni hatlar üzerine metni bölünürler. Muhtemelen wrapetkinleştirmişsinizdir, bu yüzden :set wrap!kapattınız. :set wrap?Mevcut değeri (yani wrapveya nowrap) hangisinin yansıtacağını kontrol edebilirsiniz .
— shadowtalker

1
Bu çözüm benim için Mac OsX'te çalışıyor. Vim sürüm 7.4
— Shnkc

Bu, benim için çalıştı Değiştim textwidthve wrapmarginilk ama bu aslında herhangi sarılı çizgileri olmadan güncelleme ve rerender için vim zorladı.
— Kredns

Ding din ding! Neovim'de çalışır
— Gjaa

Gerçekten ihtiyacınız olan komutun çok etkileyici ve basit olduğunu öğrendiğinizde ne kadar büyülü bir an. Teşekkürler geliştiriciler
— Capitan Empanada

57

set formatoptions-=thile yapmalı. set formatoptions+=totomatik kaydırmayı tekrar açacak.

Yapabilecekleriniz hakkında daha fazla bilgi için dokümanlaraformatoptions bakın .


2
Teşekkür ederim! Çözümünüz benim için işe yarayan tek çözümdür. Artık vim, ekleme moduna girdiğimde bazen yeni satır eklemiyor.
— Geremia

2
Evet. Bu gerçek çözüm.
— Russ Bateman

16

Vim'in uzun satırları kaydırmasını önlemek için şu iki satırı kullanıyorum .vimrc:

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

12

Satır kaydırmayı devre dışı bırakmak için :set wrap!bu komutu girebilir veya ~/.vimrc.


2
Bu, bu sorunun hakkında olduğu gerçek satır sonlarının otomatik olarak eklenmesini etkilemez.
— Arthur Tacca

9

Belki de ayarlanan metin genişliğidir ve belirli bir uzunluğa ulaştığında satırları otomatik olarak keser Deneyin

:set tw=0

Bu, örneğin ile oynamak başarısız olursa

:set wrap linebreak textwidth=0 

ve

:set virtualedit=insert

2
wrap ve linebreak gerçek satır sonlarını arabelleğe eklemez, dolayısıyla bu onun sorunu gibi görünmüyor.
— A. Levy


0

Vimrc_example.vim'i açın (Evet, bu Vim74'teki dosyadır) ve textwidth = 0 olarak ayarlayın.


0

Macbook pro'da .vimrc satırını geride bıraktım

autocmd FileType text setlocal textwidth=78

böylece oldu

"  autocmd FileType text setlocal textwidth=78

.

(Homebrew aracılığıyla bir vim sürümü kurdum.) Bu, tüm .txt dosyaları için yardımcı oldu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.