[vim] 편집기에서 줄 바꿈 및 캐리지 리턴 확인

누구든지 Linux에서 줄 바꿈 및 캐리지 리턴을 볼 수있는 텍스트 편집기를 알고 있습니까? Vim이이 기능을 지원합니까?



답변

:set listVim에서 공백이 표시됩니다. 줄 끝은 ‘ $‘ 로 표시 되고 캐리지 리턴은 일반적으로 ‘ ^M‘ 로 표시됩니다 .


답변

공식 답변에 동의하지 않으려면 :

:set list것입니다 하지 ^ M 문자 (CR을)를 보여줍니다. vi / vim에 -b 옵션을 제공하면 작동합니다. 또는 vim이로드되면을 입력하십시오 :e ++ff=unix.


답변

VI는 x0A다음 줄에 후속 텍스트를 보여줌으로써 개행 (LF 문자, 코드 )을 보여줍니다.

-b이진 모드 에는 스위치를 사용하십시오 . 예를 들어 vi -b filename또는 vim -b filename --.

그런 다음 x0DUnix 스타일 파일에서 일반적으로 사용되지 않는 CR 문자 ( )를 문자로 표시 합니다 ^M.


답변

그냥 이유를 명확히하기 위해 :set listCR의로 표시되지 않습니다 ^M하지를 e ++ff=unix:set list와는 아무 상관이 없습니다 ^M들 ‘.

내부적으로 Vim 파일을 버퍼로 읽어 들일 때 모든 줄 끝 문자를 자체 표현으로 바꿉니다 (이를 호출합니다 $). 어떤 문자를 제거해야하는지 결정하기 위해 먼저 파일에 어떤 형식 줄 끝이 저장되어 있는지 감지합니다. 단지 CRLF가있는 경우 '\r\n'또는 유일한 CR '\r'또는 유일한 LF '\n'라인 끝 문자, 다음은 'fileformat'로 설정 dos, mac그리고 unix각각.

list옵션이 설정되어, 빔 표시 $문자 줄 바꿈는 상관없이 발생했을 때 fileformat감지 된 옵션을 선택합니다. 자체 줄 바꿈 표현을 사용하며 이것이 표시됩니다.

이제 디스크에 버퍼를 때 Vim fileformat은 감지 된 옵션 에 따라 줄 끝 문자를 삽입하여 본질적으로 모든 내부 $문자를 적절한 문자 로 변환합니다 . 그런 fileformat일이 발생하면 내부 줄 바꿈 대신 unix\n수 있습니다.

트릭은 Vim이 dos인코딩 된 파일을 unix하나로 읽도록 강제하는 것입니다. 순 효과는 모두 제거하는 것입니다 \n의 떠나는 \r그대로의 ‘를하고로 표시 ^M하여 버퍼에의. 설정 :set list하면 내부 줄 끝이로 표시됩니다 $. 결국 인코딩 된 줄 바꿈 ^M$대신에 표시 dos됩니다.

또한의 표시와 :set list는 아무런 관련이 없습니다 ^M. 당신은 자신 (메이크업은 당신이 사용 중지하여 확인할 수 있습니다 list사용하여 하나의 CR을 삽입하여 첫 번째 옵션을) CTRL-V다음 Enter삽입 모드입니다. 디스크에 버퍼를 쓴 후 다시 열면 옵션이 0으로 설정되어 ^M있어도 볼 수 있습니다 list.

파일 형식에 대한 자세한 내용은 http://vim.wikia.com/wiki/File_format 또는 :help 'fileformat'Vim 을 입력하여 찾을 수 있습니다 .


답변

다음 명령을 시도하십시오.

: 바이너리 설정

VIM에서는 “-b”명령 행 옵션을 사용하는 것과 동일한 작업을 수행해야합니다. 이 파일을 시작 (예 : .vimrc) 파일에 넣으면 항상 자동으로 배치됩니다.

많은 * nix 시스템에는 파일을 처리하고 의심되는 줄 끝 문제를 해결할 수있는 “dos2unix”또는 “unix2dos”명령이 있습니다. 줄 끝에 문제가 없으면 파일이 변경되지 않습니다.


답변

명령 목록을 실행하기 위해 .vimrc 파일을 편집하는 것이 좋습니다. 다음과 같이 .vimrc 파일을 편집하십시오.

cat >> ~/.vimrc <<EOF
set ffs=unix
set encoding=utf-8
set fileencoding=utf-8
set listchars=eol:¶
set list
EOF

vim을 실행할 때 .vimrc에 대한 명령이 실행되며 다음 예제를 볼 수 있습니다.

My line with CRLF eol here ^M¶


답변

로 사용 cat하고 -A당신은 새로운 라인을 볼 수있는 $탭으로,^I
cat -A myfile