자동 서식 : 텍스트를 삽입 할 때 나중에 줄 바꿈


9

읽은 후 help textwithhelp fo-table, 내가 설정 한 경우 것으로 예상

set textwidth=20  " for demonstration
set formatoptions=tcq

그런 다음 텍스트를 삽입하면 항상 줄 바꿈이 발생하지만 실제로는 그렇지 않습니다. 줄 바꿈은 커서에서만 (또는 전에) 발생합니다. 붙여 넣기를하면 포장이 전혀 발생하지 않습니다.

예 (Vim 7.4) :

12345678901234567890
This is a long line

A입력하고 입력을 시작 하면 줄이 자동 줄 바꿈 됩니다.

그러나 02wi"still"을 누르고 입력 하면 랩핑되지 않습니다.

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

1
이것은 나에게 잘 작동하는 것 같습니다. vim -u NONEvimrc 파일로드를 막기 위해 Vim을 시작했습니다 . 이것이 문제를 해결합니까? 어떤 Vim 버전을 사용하고 있습니까?
Martin Tournoij

아니요, 도움이되지 않습니다. Windows 및 Ubuntu의 Vim 7.4
mgiuffrida

되어 paste실수로 설정? Try:set paste?
Volker Siegel 2016 년

@VolkerSiegel 아니오, paste설정되지 않았습니다. paste설정 하면 줄 바꿈이 전혀 발생하지 않습니다.
mgiuffrida 2016 년

답변:


2

을 사용하여 부분 솔루션을 발견했습니다 formatoptions=tcqaw. 기본적으로 단락은 자동 줄 바꿈되지만 줄에 공백이 없으면 단락이 끝나므로 많은 경우에 적합합니다.

예제를 사용하면 (약간의 수정, 실행 취소 및 " <SPACE>This ..."사용)이 결과가 나타납니다.

This is still a long  
This is pasted and 
not wrapped
line
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.