2013-11-02 1 views
2

Давайте предположим, что мой .vimrc имеет следующую конфигурацию:Закрепление линия перелива в пункте задано множество TextWidth в VIM

set textwidth=10

В файле я введите следующее:

This is a 
sentence 
word wraps 
just fine 
at 10 
chars. 

Как Я печатаю это предложение, VIM будет переносить слова в реальном времени и не позволять мне передавать маркер, который я установил. Однако общая проблема, с которой я сталкиваюсь, заключается в добавлении большего количества контента. Я забыл слово в предыдущем абзаце, «предложение THAT word wraps».

Поэтому я возвращаюсь и добавляю его.

This is a 
a sentence that, suddenly, doesn't 
word wrap 
just fine 
at 10 
chars. 

Если бы я хотел, чтобы исправить это сейчас (есть все строки ниже предела 10 символов, я настроил), я должен был бы найти место 10 символов, нажмите RETURN (для перемещения дополнительного контента вниз), затем найдите 10-значное пятно на следующей строке, нажмите RETURN и т. д.

Этот сценарий очень много для меня в моих программах и пролог-функциях кода (я обычно работаю с лимитами на 73 символа), потому что мне приходится добавлять дополнительные объяснения или контент позже.

Есть ли быстрый/простой способ исправить эту проблему?

также:

У меня есть это в моей .vimrc, чтобы выделить текст ширины обидчиков:

" highlight anything past the 73 character limit 
augroup vimrc_autocmds 
    autocmd Filetype cpp autocmd BufEnter * highlight OverLength ctermbg=darkgrey guibg=#592929 
    autocmd Filetype cpp autocmd BufEnter * match OverLength /\%73v.*/ 
augroup END 

Возможно, есть что-то здесь я могу добавить слишком?

+0

Каков результат ': set formatoptions?' –

+0

Возвращает 'croql' – skippr

ответ

2

Вы можете переформатировать затронутые строки командой gq. Часто gqap (формат абзац) будет, если нет, использовать визуальный режим или движение.

Вы также можете сделать Vim непрерывно переформатированным при вводе с :set formatoptions+=a, но это не сработало хорошо для меня.

+0

Удивительно, именно то, что мне нужно! – skippr

0

Vim ручной ввод для :help fo-table отчетов:

l  Long lines are not broken in insert mode: When a line was longer than 
     'textwidth' when the insert command started, Vim does not 
     automatically format it. 

Поскольку в вашем комментарии вы говорите, что formatoptions содержит букву l, вы должны включить этот вариант с помощью команды:

:set formatoptions-=l 

К исправить существующие линии, как уже говорилось в Ingo, вы можете использовать команду gq, которая будет соблюдать настройку textwidth.