vim에서 줄 바꿈을 중지하는 방법


257

긴 줄이 두 개 이상의 터미널 줄에 표시되는 것을 좋아합니다. vim이 실제 텍스트에 줄 바꿈을 삽입하는 것을 좋아하지 않습니다. .vimrc의 어느 부분을 변경해야합니까?


7
명확성을 위해 : 긴 행이 둘 이상의 터미널 행에 표시되는 것을 좋아합니다. vim이 실제 텍스트에 줄 바꿈을 삽입하는 것을 좋아하지 않습니까? 그렇다면, :set nowrap당신이 원하는 것과 반대입니다. (.
Andrew Aylett

@Andrew : 예 당신의 요약은 내가 원하는 것입니다
Haiyuan Zhang

답변:


304

사용하다

:set wrap

줄을 시각적으로 감싸려면, 예를 들어 줄은 여전히 ​​한 줄의 텍스트이지만 Vim은 여러 줄로 표시합니다.

사용하다

:set nowrap

긴 줄을 한 줄로 표시하려면 (즉, 전체 줄을 보려면 가로로 스크롤해야 함)


3
팁 주셔서 감사합니다. 나는 : set nowrap과 함께 갔다 : set textwidth = 0 훌륭하게 작동
Robert Beltran

5
입력 할 때 여전히 "시각적"80 열 제한을보고 싶고 80 번째 열 이후에 입력 할 때 vim이 자동으로 줄 바꿈을 추가하고 싶지 않습니다. 어떻게합니까?
Olivier Pons 2016 년

7
이것은 내가 찾던 정답이지만 OP의 질문에 대한 답은 아닙니다. 이것을 최고 답변으로 삼는 것은 약간 오도합니다. 이 상황을 해결하는 방법을 모르겠습니다. 원래 질문에 대답하기 위해 답을 편집하겠습니다. 그러나 이미 투표율이 높은 정답이 있습니다. 그래서 방금 두 답변을 바꾸겠다고 투표했습니다.
Daniel Darabos

3
이것이 바로 내가 한 대답은 하지 찾고, 그리고 그건 하지 방공호의 질문에 대한 대답.
peeol

이것은 질문에 대한 답변이 아닙니다.

194

긴 줄이 둘 이상의 터미널 줄에 표시되는 것을 좋아합니다.

이러한 종류의 시각적 / 가상 줄 바꿈은 wrapwindow 옵션으로 활성화됩니다 .

set wrap

vim이 실제 텍스트에 줄 바꿈을 삽입하는 것을 좋아하지 않습니다.

물리적 줄 바꿈을 해제하려면 textwidthwrapmargin버퍼 옵션을 모두 지 웁니다 .

set textwidth=0 wrapmargin=0

1
감사! set textwidth=0 wrapmargin=0작동하지만에 넣으면 .vimrc일반 텍스트 파일에 영향을 미치지 않습니다. 덮어 쓰기를 찾아서 제거하는 방법은 무엇입니까?
qubodup

7
@qubodup 문제가 발생한 파일을 열고을 입력하여 .vimrc 설정을 덮어 쓰고 있는지 테스트 할 수 있습니다 :verbose set textwidth? wrapmargin?. 현재 값과 설정 위치를 알려줍니다. 우선하는 플러그인이있을 수 있습니다. 이 경우 해당 플러그인을 제거하거나 나중에 런타임 경로 (예 :) ~/.vim/after또는 자체 자동 명령으로 플러그인 설정을 재정의 할 수 있습니다 . 올바른 접근 방식은 재설정되는 위치 / 방법에 따라 다릅니다.
Laurence Gonsalves

set wrap그리고 set linebreak나를 위해 무엇을 했습니까?
Ilia Choly

36

완전히 이해하고 있지는 않지만 'formatoptions'구성 설정을 찾고있을 수 있습니다. 같은 것을 시도하십시오 :set formatoptions-=t. 이 t옵션은 줄 바꿈을 삽입하여에 의해 설정된 너비로 텍스트를 줄 바꿈합니다 textwidth. 이 명령을에 넣고 .vimrc콜론 ( :) 만 제거하면 됩니다.


3
이것은 나에게 OP의 희망을 해결하는 가장 좋은 옵션 인 것 같습니다. vim이 여전히에 수직선을 표시한다는 사실이 마음에 듭니다 tw.
mitchus

3
이것은 실제로 OP의 질문을 다루는 유일한 대답입니다. 대부분의 다른 사람들은 그 반대입니다. OP는 여전히 긴 줄을 감싸서 표시하려고하지만 vim은 줄 바꿈을 자동으로 삽입하지 않습니다.
sebastian

33

사용 :set nowrap.. 마법처럼 작동합니다!


10
OP가 원하는 행동으로 정의한 것과 반대되는 것을 제외하고 ... : P
Morlock

5
@ Morlock,하지만 내가 가진 질문에 대답하고 구글이 나를 여기 이끌었습니다 :)
Ben Usman

이것에 대한 키보드 단축키가 있습니까?
Pini Cheyni

@PiniCheyni .vimrc 파일에 추가하십시오. nnoremap <Cw> : set invwrap <CR> 그런 다음 Ctrl + W를 사용하여 텍스트 줄 바꿈을 전환 할 수 있습니다.
reas0n

30

:set tw=0

VIM은 줄 바꿈을 자동 삽입하지 않지만 줄 바꿈을 유지합니다.


3
나는 정반대를 원합니다 ... 입력 할 때 여전히 "시각적"80 열 제한을보고 싶습니다 .80 번째 열 이후에 입력 할 때 vim에서 자동으로 줄 바꿈을 추가하지 않습니다. 어떻게합니까?
Olivier Pons 2016 년

16

set lbr유용 할 수 있습니다 . 와set wrap 이 포장 만 공백에 아닌 단어의 중간에 선을 절단 할 것이다에.

예 :

without lbr the li
ne can be split on
a word

with lbr on the
line will be
split on 
whitespace only

앞으로는 도움말 시스템에서 검색 한 내용을 이해하기 위해 검색해야하므로 set nolinebreak대신 옵션을 사용 하지 않는 것이 좋습니다.set lbr
SergioAraujo

12

set formatoptions-=t 시각적 텍스트 너비를 유지하지만 삽입 모드에서 줄 바꾸기를 추가하지 않습니다.


4

이러한 간단한 설정이 작동하려면이 정도의 '호 커스-포커스'가 필요하다는 것이 이상합니다.

지금 귀하의 질문에 대답하기 위해 다음과 같은 조합으로 작동하는 것 같습니다.

:set wrap linebreak nolist

(이것은 기존 줄이 끊어지는 것을 막는 것처럼 보입니다.)

set formatoptions=l

(이것은 새로운 / 편집 된 줄이 끊어지는 것을 방지하는 반면, 다른 설정 / 플러그인은 공간을 찾고 자신의 옵션을 추가하여 내 것을 무시하는 것처럼 + =는 나를 위해 그것을하지 않습니다.)


4

, 나처럼, Windows에서 GVIM를 실행하는 경우 다음 의 .vimrc의 파일은 자동으로 세트를 또 다른 '예'vim 스크립트 파일을 소싱 할 수있다 textwidth(내 경우 78텍스트 파일).

내 대답 -이 하나와 유사한 질문에 열 (80)에 GVIM 포장 텍스트를 중지하는 방법 -에 이 VI 및 빔 스택 교환 사이트 :

필자의 경우 Vitor의 의견에 따르면 다음을 실행하십시오.

:verbose set tw?

그렇게하면 다음과 같은 결과가 나옵니다.

textwidth=78
      Last set from C:\Program Files (x86)\Vim\vim74\vimrc_example.vim

에서 vimrc_example.vim , 나는 관련 라인을 발견 :

" Only do this part when compiled with support for autocommands.
if has("autocmd")

  ...

  " For all text files set 'textwidth' to 78 characters.
  autocmd FileType text setlocal textwidth=78

  ...

그리고 내 .vimrc 가 해당 파일을 소싱하고 있음을 발견했습니다 .

source $VIMRUNTIME/vimrc_example.vim

필자의 경우 textwidth파일을 설정 하고 싶지 않으므로 vimrc_example.vim에 관련 줄을 주석 처리했습니다 .


1
vimrc_example.vim 파일을 편집하는 대신 autocmd FileType text setlocal textwidth=0vimrc 파일에 방금 추가 했으며 다른 제안 된 솔루션이 그렇지 않은 경우 문제를 해결했습니다.
GrandAdmiral

3

nowrap설정 한 것이 맞습니다. 당신이 VI / 정력 추가 줄 바꿈없이 긴 줄에 붙여 넣기 할 수 있습니다,하지만 라인이 시각적으로 쉽게 읽을 줄 바꿈되지 않습니다. 대신 스크롤해야 할 하나의 긴 줄입니다.

시각적으로 포장하지만 삽입 줄 바꿈 문자가없는 라인을 가지고,이 세트 포장 (아마 그래서 세트에 필요하지 기본값) 및 설정 textwidth = 0 .

일부 시스템에서는 textwidth = 0 설정 이 기본값입니다. 그렇지 않다면 set textwidth = 0 을 .exrc 파일에 추가 하여 모든 vi / vim 세션에 대한 사용자의 기본값이되도록하십시오.

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