Định dạng tự động: gói sau trong dòng khi chèn văn bản


9

Sau khi đọc help textwithhelp fo-table, tôi mong đợi rằng khi tôi đặt

set textwidth=20  " for demonstration
set formatoptions=tcq

sau đó chèn văn bản cuối cùng sẽ luôn khiến một dòng bị ngắt, nhưng đó không phải là trường hợp. Việc gói chỉ xảy ra ở (hoặc trước) con trỏ của tôi. Và nếu tôi dán, việc bọc không xảy ra chút nào.

Ví dụ (Vim 7.4):

12345678901234567890
This is a long line

Dòng này sẽ tự động ngắt nếu tôi nhấn Avà bắt đầu nhập.

Nhưng nếu tôi nhấn 02wivà gõ "tĩnh", nó sẽ không kết thúc:

12345678901234567890
This is still a long line

Tôi phải gõ 7 ký tự khác trước khi nó kết thúc, và sau đó vấn đề tiếp tục ở dòng tiếp theo:

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

Dán cũng không kích hoạt một bọc:

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

Tôi nghĩ những gì tôi muốn là set fo+=anhưng điều đó áp dụng ở cấp độ đoạn văn, trong khi tôi không muốn tự động định dạng một dòng để lan truyền sang các dòng khác.

Hay tôi đang thiếu một lựa chọn?

Để rõ ràng, sau khi khởi chạy vim -u NONE, đây là những gì tôi gõ (ít bình luận):

: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
Điều này dường như làm việc tốt cho tôi. Tôi đã khởi động Vim với vim -u NONEđể ngăn tải tập tin vimrc. Điều này có khắc phục vấn đề cho bạn? Bạn đang sử dụng phiên bản Vim nào?
Martin Tournoij

Không, điều đó không có ích. Vim 7.4 trên Windows và Ubuntu.
mgiuffrida

pastethiết lập, vô tình? Hãy thử:set paste?
Volker Siegel

@VolkerSiegel không, pastekhông được đặt. Khi pasteđược thiết lập không có gói xảy ra ở tất cả.
mgiuffrida

Câu trả lời:


2

Tôi đã đi qua một giải pháp một phần, sử dụng formatoptions=tcqaw. Về cơ bản, bạn vẫn tự động ngắt đoạn văn bản, nhưng một đoạn kết thúc khi dòng không có khoảng trắng ở cuối, phù hợp cho nhiều trường hợp.

Sử dụng ví dụ của bạn (với một sửa đổi nhỏ, không hoàn tác và sử dụng " <SPACE>Điều này ...") tôi nhận được kết quả này:

This is still a long  
This is pasted and 
not wrapped
line
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.