설명 할 수없는 gq 들여 쓰기 문제


11

이 텍스트를 Vim에 삽입합니다 :

t tttt ttttttttt tt tttt tt ttt tttttt-tttt-ttttttt
tttttttttttttttttttttttttttttttttttttttttttttttttttttt ttttt ttt ttt tttttt
ttttttt tttt ttttttt: ttttttt tt ttttttt, ttttttt tt tttttt, tttttt tt ttttttt,
tttttt tt tttttt ttt. t tttttt tt ttt (tttt) ttttttt-tttttt-tt-ttttttt tttttt
for the "tttttt in ttttttt" part of the issue (in the previous week I have
worked on the "objects in objects" part). This part is about making it
possible for the end user to add arrays in objects. First of all I checked
that the current implementation allows putting arrays in objects at least
from the schema passed to the plugin constructor.

그런 다음 모든 선을 시각적으로 선택하고을 누릅니다 gq. 내용은 다음과 같습니다.

t tttt ttttttttt tt tttt tt ttt tttttt-tttt-ttttttt
tttttttttttttttttttttttttttttttttttttttttttttttttttttt ttttt ttt ttt tttttt
ttttttt tttt ttttttt: ttttttt tt ttttttt, ttttttt tt tttttt, tttttt tt ttttttt,
tttttt tt tttttt ttt. t tttttt tt ttt (tttt) ttttttt-tttttt-tt-ttttttt tttttt
for the "tttttt in ttttttt" part of the issue (in the previous week I have
    worked on the "objects in objects" part). This part is about making it
    possible for the end user to add arrays in objects. First of all I checked
    that the current implementation allows putting arrays in objects at least
    from the schema passed to the plugin constructor.

마지막 네 줄의 시작 부분에 왜 공백이 있는지 설명해주세요. for일부 프로그래밍 언어에서 for루프를 시작하는 다섯 번째 줄 의 첫 번째 단어 ( ) 가 Vim이 저장되지 않은 파일 또는 마크 다운 파일에 있더라도 들여 쓰기 된 새로운 코드 블록을 시작해야한다고 생각할 수 있습니까? ? 이 동작을 피하고 gq공백 삽입을 중지 하려면 어떻게해야 합니까?

comments설정의 기본값은 s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-입니다. 내 .vimrc파일을 여기에서 볼 수 있습니다 .

업데이트 :fo( formatoptions) 옵션에 값 tcq이 있고 formatexprformatprg옵션이 비어 있습니다.


그리고 파일이 저장되거나 새 것이 아닌 경우 차이점이 있습니까?
가브리엘 Petrovay

같은 동작입니다.
silviubogan

그런 다음 문제를 더 간단하게하기 위해 텍스트에서 해당 정보를 제거 할 수 있습니다.
Gabriel Petrovay

@GabrielPetrovay, 피드백 감사합니다! :-)질문을 업데이트했습니다.
silviubogan

'fo'옵션과 'formatexpr'및 formatprg 옵션은 무엇입니까?
Christian Brabandt

답변:


18

문제는에 설정 smartindent한 것 ~/.vimrc입니다. 이 smartindent옵션을 사용하면 Vim은 들여 쓰기 할 때 텍스트가 C와 비슷한 프로그래밍 언어라고 가정합니다. 무엇보다도 for키워드처럼 취급 하고 다음 줄에 추가 수준의 들여 쓰기를 제공합니다. 보다

:help 'smartindent'
:help 'cinwords'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.