누구든지 Linux에서 줄 바꿈 및 캐리지 리턴을 볼 수있는 텍스트 편집기를 알고 있습니까? Vim이이 기능을 지원합니까?
누구든지 Linux에서 줄 바꿈 및 캐리지 리턴을 볼 수있는 텍스트 편집기를 알고 있습니까? Vim이이 기능을 지원합니까?
답변:
:set list
Vim에서 공백이 표시됩니다. 줄 끝은 ' $
' 로 표시 되고 캐리지 리턴은 일반적으로 ' ^M
' 로 표시됩니다 .
:set list
표시하지 않습니다 ^M
. -b
vi / vim에 옵션을 제공하면 작동합니다. 또는 vim :e ++ff=unix
:set nolist
공식 답변에 동의하지 않으려면 :
:set list
것입니다 하지 ^ M 문자 (CR을)를 보여줍니다. vi / vim에 -b 옵션을 제공하면 작동합니다. 또는 vim이로드되면을 입력하십시오 :e ++ff=unix
.
:help edit
보여줍니다 e[dit]! [++opt] [+cmd]
. 그리고 [++ opt] 인수는 'fileformat'[..] 값을 강제하는 데 사용될 수:help ++e
있다고 말합니다 .
:set list
개행 ( $
), :e ++ff=unix
CR ( ^M
)을 보여줍니다 . 당신은 모두를보고 싶다면 :set list
다음:e ++ff=unix
:set ff=unix
Vim에게 줄 끝을 유닉스 스타일 로 변경 하도록 (파일 형식 설정의 일부로) ^ M 문자가 더 이상 존재하지 않으며 표시되지 않도록 지시 합니다. 실제로 내용을 변경하지 않고 파일 :e ++ff=unix
형식을 강제 설정하도록 지시합니다 unix
. 따라서 vim은이 파일을 Unix 파일처럼 읽으며 CR 문자를 추가 문자로보고 ^ M으로 표시합니다.
vim
어떤 이유로 든 나를 위해 작동하지 않습니다 ... 나는 -b
옵션도 :e ++ff=unix
VI는 x0A
다음 줄에 후속 텍스트를 보여줌으로써 개행 (LF 문자, 코드 )을 보여줍니다.
-b
이진 모드 에는 스위치를 사용하십시오 . 예를 들어 vi -b filename
또는 vim -b filename --
.
그런 다음 x0D
Unix 스타일 파일에서 일반적으로 사용되지 않는 CR 문자 ( )를 문자로 표시 합니다 ^M
.
Unix
환경 에서 일하기 때문에 일반적으로 줄 끝을 볼 필요가 없습니다 . 그러나 파일에 파일이 있으면 Windows 유형 줄 끝에 대해 경고하고 싶습니다. 것 vi -b filename
또는 :set binary
단지 보여 ^M
그것은 창 형식 파일과 달리 다른 라인 엔딩 인 경우?
그냥 이유를 명확히하기 위해 :set list
CR의로 표시되지 않습니다 ^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"명령이 있습니다. 줄 끝에 문제가 없으면 파일이 변경되지 않습니다.
set binary
다릅니다 vim -b filename.py
. 왜 그런지 알아? 나는 확인했고 help
당신이 말하는 것이 일반적으로 올바른 것 같습니다. 이것이 왜 그런지 어떻게 알 수 있습니까?
:e ++ff=unix
을 보여 않는 ^M
정확하고 내가 사용하는 때를 표시하지 않습니다unix
형식 파일을 . 그래서 지금 문제가 해결 된 것 같습니다 ...
gedit를 사용하여 줄 바꿈을 볼 수 있습니다 편집기를 .
먼저 설치하지 않은 경우 :
sudo apt-get install gedit
이제 gedit 플러그인을 설치하십시오 :
sudo apt-get install gedit-plugins
Spaces 플러그인 그리기 를 선택 하고 환경 설정을 입력 한 다음 새 줄 그리기를 선택하십시오.
VSCode 를 사용하면 줄 끝 확장을 설치할 수 있습니다 .
Sublime Text 3 에는 줄 끝을 표시하고 임의의 줄 끝 유형을 삽입 할 수있는 RawLineEdit 이라는 플러그인 이 있습니다.
shift + ctrl + p
시작하려면 플러그인 이름을 입력하고 줄 끝 표시를 토글하십시오.