vim
줄 바꿈없이 파일을 저장하는 나의 레시피 는 다음과 같습니다.
:set binary
:set noeol
:wq
noeol이 바이너리 모드 없이는 아무것도하지 않는다는 사실은 그 자체로 이상합니다. 그러나 :help binary
내가 읽는 것은 여전히 뭔가가 확실하지 않습니다.
When this option is switched on a few options will be changed (also when it already was on): 'textwidth' will be set to 0 'wrapmargin' will be set to 0 'modeline' will be off 'expandtab' will be off Also, 'fileformat' and 'fileformats' options will not be used, the file is read and written like 'fileformat' was "unix" (a single <NL> separates lines). The 'fileencoding' and 'fileencodings' options will not be used, the file is read without conversion. NOTE: When you start editing a(nother) file while the 'bin' option is on, settings from autocommands may change the settings again (e.g., 'textwidth'), causing trouble when editing. You might want to set 'bin' again when the file has been loaded.
여전히 UTF8 문자를 볼 수 있으므로 파일 인코딩이 완전히 사라지지 않았습니다. 나는 expandtab을 사용하지 않았다. 그러나 그 외에도 실제로 어떤 일이 일어날 수 있습니까?
나는 파일 끝에 새로운 줄이 피곤하고 모든 파일을 이진 모드로 열고 기본적으로 noeol을 설정하는 것을 고려하고 있습니다. 많은 문제가 있습니까?
네, 텍스트는 텍스트입니다. 모든 권한을 갖고 싶습니다. 다른 편집기에서 말했듯이 간단히 거기에 가서 Enter 키를 누르거나 줄 바꿈을 삭제할 수 있습니다. vim에서 그것은 저쪽에 있습니다. 그러나 더 실용적인 예제를 원한다면 몇 가지 텍스트를 이진 형식으로 나열 할 수 있습니다. 또는 더 풍부, 기술적으로하기 때문에 그 줄 바꿈을 삽입하는 PHP는 문제 후
—
gcb
?>
태그 그래서 그것은 그가 처리됩니다 코드 앞에 필요 포함되어있는 경우 문제를 일으킬 수있는, 출력 할 내용의 일부입니다 쿠키 또는 기타 헤더.
아! 이것이 실제 문제입니다. 이에 대한 권장 솔루션은 간단히
—
nitro2k01
?>
제어 할 수있는 방식으로 해당 문제를 제거하는 것입니다. 그렇습니다, 그것은 유효한 PHP입니다.
이것은 예 중 하나였습니다. 대부분의 편집자들은 그 마지막 줄을 나누지 않으므로 버전 관리 소프트웨어를 커밋해야합니다. PHP가 크지 않기 때문에 큰 것은 없지만 그것은 OCD를 귀찮게합니다.
—
gcb
vi (m)에 관한 한, 줄의 구문은 텍스트 다음에 줄 종결자가옵니다. c
—
nitro2k01
;
의 문장 이 끝나 거나 영어 문장 이 끝나는 방식과 비슷합니다 .
. 터미네이터는 객체에 필수적입니다. vi (m)과 관련하여 터미네이터가없는 행은 구문 상 유효하지 않은 텍스트이므로 텍스트가 아닌 파일을 원하는 방식으로 편집하려면 이진 모드를 활성화해야합니다. vi (m)은 행을 엔티티로 간주하는 반면 다른 편집기는 키 입력 (예 : enter)을 개별 문자 (예 :)로 버퍼에 넣습니다 \n
. 우연한 결정이 아니라 철학의 차이입니다.
o
새 선을 열 수 있기 때문입니다. 또는 더 다르게 말하면, 미용상의 이유를 넘어선 추가 라인에 문제가 있습니까?