Прочитавши help textwith
і help fo-table
, я очікував, що коли встановлю
set textwidth=20 " for demonstration
set formatoptions=tcq
то вставлення тексту завжди призведе до загортання рядка, але це не так. Обгортання відбувається лише в мій курсор (або раніше). І якщо я вставляю, обгортання взагалі не відбувається.
Приклад (Vim 7.4):
12345678901234567890
This is a long line
Рядок автоматично перемотається, якщо я натисну A
і почну вводити текст.
Але якщо я натисну 02wi
і наберіть "нерухомий", він не завершить:
12345678901234567890
This is still a long line
Я повинен набрати ще 7 символів, перш ніж він завернеться, і тоді проблема продовжується в наступному рядку:
12345678901234567890
This is still more <-- it wraps here
typing and again a long line
Вставлення також не викликає обгортання:
12345678901234567890
This is a long line This text is pasted and not wrapped
Я думаю, що я хочу, set fo+=a
але це застосовується на рівні абзацу, тоді як я не хочу, щоб автоматичне форматування одного рядка поширювалося на інші рядки.
Або я пропускаю варіант?
Щоб було зрозуміло, після запуску vim -u NONE
, це те, що я набираю (менше коментарів):
: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
paste
встановити, випадково? Спробуйте:set paste?
paste
не встановлено. Коли paste
встановлено, обгортання не відбувається взагалі.
vim -u NONE
щоб запобігти завантаженню файлу vimrc. Чи вирішує це проблема для вас? Яку версію Vim ви використовуєте?