Format otomatis: membungkus di baris berikutnya saat memasukkan teks


9

Setelah membaca help textwithdan help fo-table, saya berharap ketika saya mengatur

set textwidth=20  " for demonstration
set formatoptions=tcq

kemudian menyisipkan teks pada akhirnya akan selalu menyebabkan garis untuk dibungkus, tetapi bukan itu masalahnya. Pembungkus hanya terjadi pada (atau sebelum) kursor saya. Dan jika saya tempel, pembungkus tidak terjadi sama sekali.

Contoh (Vim 7.4):

12345678901234567890
This is a long line

Baris akan terbungkus otomatis jika saya menekan Adan mulai mengetik.

Tetapi jika saya menekan 02widan mengetik "masih", itu tidak membungkus:

12345678901234567890
This is still a long line

Saya harus mengetikkan 7 karakter lain sebelum membungkus, dan kemudian masalah berlanjut pada baris berikutnya:

12345678901234567890
This is still more <-- it wraps here
typing and again a long line

Menempel juga tidak memicu bungkus:

12345678901234567890
This is a long line This text is pasted and not wrapped

Saya pikir yang saya inginkan adalah set fo+=atetapi itu berlaku pada level paragraf, sedangkan saya tidak ingin pemformatan otomatis satu baris menyebar ke baris lain.

Atau apakah saya kehilangan opsi?

Agar jelas, setelah diluncurkan vim -u NONE, ini yang saya ketik (kurang komentar):

:set textwidth=20<CR>
:set formatoptions=tcq<CR>
iThis is a long line<ESC>
02wistill <ESC>                " no wrap happens, but I'd like it to
u
:let @r = "This text is pasted and not wrapped"<CR>
$"rp                           " no wrap happens, but I'd like it to

1
Ini sepertinya bekerja dengan baik untuk saya. Saya mulai Vim dengan vim -u NONEuntuk mencegah memuat file vimrc. Apakah ini memperbaiki masalah Anda? Versi Vim mana yang Anda gunakan?
Martin Tournoij

Tidak, itu tidak membantu. Vim 7.4 pada Windows dan Ubuntu.
mgiuffrida

Sudah pastediatur, tidak sengaja? Coba:set paste?
Volker Siegel

@VolkerSiegel no, pastetidak disetel. Ketika pastediatur tidak ada pembungkus sama sekali.
mgiuffrida

Jawaban:


2

Saya menemukan solusi parsial, menggunakan formatoptions=tcqaw. Pada dasarnya, Anda masih membungkus paragraf secara otomatis, tetapi sebuah paragraf berakhir ketika baris tersebut tidak memiliki spasi spasi, yang cocok untuk banyak kasus.

Dengan menggunakan contoh Anda (dengan sedikit modifikasi, jangan dibatalkan dan menggunakan " <SPACE>Ini ...") Saya mendapatkan hasil ini:

This is still a long  
This is pasted and 
not wrapped
line
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.