메모장에서 EOL 변환 ++


113

어떤 이유로 Windows 컴퓨터에서 유닉스 서버의 파일을 열면 때때로 Macintosh EOL 변환이 발생하고 다시 편집 / 저장하면 유닉스 서버에서 제대로 작동하지 않습니다. 이 유닉스 서버에서 파일을 편집하는 데 메모장 ++ 만 사용하는데 파일을 열 때마다 EOL을 유닉스 형식으로 자동 변환하는 매크로를 만드는 방법이 있습니까?



1
사용중인 FTP 프로그램에 문제가있을 수 있습니다. 예를 들어, WinSCP를 사용하여 Unix 서버에 원격으로 연결하고 Notepad ++가 기본 편집기로 설정되었지만 Binary줄 끝을 유지하기 위해 WinSCP 설정으로 이동하여 전송 모드를로 설정해야 했습니다. 따라서 다른 방식으로 파일을 전송하도록 FTP / SCP / etc 프로그램을 재구성 할 수 있습니다.
Slicktrick

답변:


200

이 기능은 이미 Notepad ++에 내장되어 있습니다. "편집"메뉴에서 "EOL 변환"-> "UNIX / OSX 형식"을 선택합니다.

더 빠른 검색 (또는 다른 언어 버전)을위한 옵션 스크린 샷

"Settings"-> "Preferences"-> "New Document / Default Directory"를 통해 notepad ++에서 기본 EOL을 설정 한 다음 Format 상자에서 "Unix / OSX"를 선택할 수도 있습니다.


7
편집 메뉴의 변환에 대해 알고 있으며 언급 한 설정은 새 문서에만 적용됩니다. 내가 여는 모든 파일 (또는 내가 저장 한 모든 파일)을 자동으로 변환하고 싶습니다.
Jeff

문제는 기존 Unix 파일을 열 때 "EOL Conversion"-> UNIX / OSX 형식이 회색으로 표시된다는 것입니다. Notepad ++는 UNIX 파일과 함께 사용하기가 답답하기 때문에 새 파일이 아닌 모든 파일을 UNIX로 저장할 수있는 Notetab Lite를 사용합니다.
Off The Gold

3
@OffTheGold UNIX EOL 옵션은 현재 선택 항목이므로 회색으로 표시됩니다.
blakeoft

맞아. 2017 년 11 월부터 Google을 통해 감사합니다.
SDsolar 2017

이것은 나를 위해 일하지 않습니다. "EOL Conversion-> Unix"를 계속 선택했지만 아무것도하지 않습니다. 메뉴로 돌아가서 Windows가 회색으로 표시되어 (그러므로 선택 되었습니까?) 옵션이 표시되어 Unix를 다시 클릭합니다. 나는 선택에서만 작동하는 경우를 대비하여 먼저 모든 텍스트를 선택하려고 시도한 다음 Unix를 다시 선택했습니다. 여전히 아무것도하지 않습니다.
Loduwijk

16

Notepad ++에서는 모두 정규식으로 바꾸기를 사용합니다. 이것은 메뉴의 변환 명령에 비해 각 파일을 열거 나 드래그 앤 드롭 (수백 개의 파일에서 눈에 띄게 느려짐)없이 전체 폴더에서 작업 할 수 있으며 파일 이름 와일드 카드 필터를 설정할 수도 있다는 장점이 있습니다.

(\r?\n)|(\r\n?)

\n

이것은 가능한 모든 줄 끝 패턴 (단일 \ r, \ n 또는 \ r \ n)을 다시 \ n에 일치시킵니다. (또는 Windows 스타일로 변환하는 경우 \ r \ n)

여러 파일에서 작업하려면 다음 중 하나를 수행하십시오.

  • "바꾸기"탭에서 "열린 모든 문서에서 모두 바꾸기"를 사용합니다. 먼저 모든 파일을 Notepad ++로 끌어서 놓아야합니다. 작업 할 파일을 제어하는 ​​것이 좋지만 수백 또는 수천 개의 파일이있는 경우 속도가 느려질 수 있습니다.
  • "파일에서 찾기"탭의 "파일에서 바꾸기", 선택한 파일 필터 (예 : 지정된 하나의 디렉토리 아래에있는 * .cpp * .cs)로.

이로 인해 \ r \ n \ r \ n을 단일 \ n으로 대체하여 EOL이 손실 될 수 있습니다. 나는 생각한다.
Sunspawn 2016 년

Notepad ++ 6.9.1에서 작동하는지 확인하십시오. 앞으로 검색하므로 뒤에있는 항목을 재귀 적으로 대체하지 않습니다.
Wappenull 2016

회신 : "이는 \ r \ n \ r \ n을 단일 \ n으로 교체하여 EOL 손실을 초래할 수 있습니다.">> | (또는) 가능한 두 그룹 사이의 연산자.
Wappenull

3

메모장에서 파일을 여는 WinSCP에서 "직접"파일을 엽니 다 ++ ++ 내가 무슨 일을하든 항상 Mac 형식으로 열리는 Linux 서버에 PHP 파일이 있습니다.

파일을 다운로드 한 다음 로컬 (Windows)에서 열면 Dos / Windows .... hmmm로 열렸습니다.

해결책은 로컬 파일을 "UNIX / OSX 형식"으로 EOL 변환하고 저장 한 다음 업로드하는 것입니다.

이제 서버에서 직접 파일을 열면 "Dos / Windows"로 열립니다. :-)


1

프로젝트에 따라 EditorConfig ( https://editorconfig.org/ ) 사용을 고려할 수 있습니다 . 필수 줄 끝으로 "lf"를 지정할 수있는 .editorconfig를로드하는 Notepad ++ 플러그인이 있습니다.

나는 그것을 사용하기 시작했을 뿐이지 만 지금까지 훌륭했고 내가 작업 한 오픈 소스 프로젝트에는 수년간 .editorconfig 파일이 포함되어 있습니다. "EOL Conversion"설정은 변경되지 않았기 때문에 약간 혼란 스러울 수 있지만 "View> Show Symbol> Show End of Line"을 선택하면 "EOL Conversion"이 발생하더라도 CRLF 대신 LF가 추가되는 것을 알 수 있습니다. "및 하단 하단 모서리에 다른 항목이 표시됩니다 (예 : Windows (CR LF)).

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