2013-04-26 34 views
75

Vì lý do nào đó, khi tôi mở tệp từ máy chủ Unix trên máy tính Windows, đôi khi chúng có chuyển đổi Macintosh EOL và khi tôi chỉnh sửa/lưu lại chúng không hoạt động chính xác trên Unix máy chủ. Tôi chỉ sử dụng notepad ++ để chỉnh sửa các tập tin từ máy chủ Unix này, do đó, có cách nào để tạo ra một macro tự động chuyển đổi EOL sang định dạng Unix bất cứ khi nào tôi mở một tập tin?Chuyển đổi EOL trong notepad ++

+0

bản sao có thể có của [Thay đổi EOL trên nhiều tệp trong một lần] (http://stackoverflow.com/questions/11341660/change-eol-on-multiple-files-in-one- go) –

+1

Sự cố của bạn có thể xảy ra với bất kỳ chương trình FTP nào bạn đang sử dụng. Ví dụ, tôi sử dụng WinSCP từ xa vào một máy chủ Unix, Notepad ++ được đặt làm trình soạn thảo mặc định của tôi, nhưng tôi phải đi vào các thiết lập của WinSCP và đặt chế độ truyền sang 'Binary' để giữ kết thúc dòng. Vì vậy, bạn có thể cấu hình lại chương trình FTP/SCP/etc của bạn để chuyển các tập tin theo cách khác. – Slicktrick

Trả lời

133

Chức năng đó đã được tích hợp vào Notepad ++. Từ trình đơn "Chỉnh sửa", chọn "Chuyển đổi EOL" -> "Định dạng UNIX/OSX". Bạn cũng có thể đặt EOL mặc định trong notepad ++ thông qua "Settings" -> "Preferences" -> "New Document/Default Directory" rồi chọn "Unix/OSX" trong hộp Format.

+6

Tôi biết về chuyển đổi trong menu chỉnh sửa và cài đặt bạn đã đề cập chỉ dành cho tài liệu mới. Tôi muốn tự động thực hiện chuyển đổi cho mọi tệp tôi mở (hoặc mọi tệp tôi lưu) – Jeff

+0

Vấn đề là khi tôi mở tệp Unix hiện có, "Chuyển đổi EOL" -> Định dạng UNIX/OSX bị chuyển sang màu xám. Notepad ++ là bực bội khi sử dụng với các tệp UNIX, vì vậy tôi sử dụng Notetab Lite cho phép tôi lưu tất cả các tệp dưới dạng UNIX, không chỉ các tệp mới. –

+2

@OffTheGold Tùy chọn UNIX EOL bị chuyển sang màu xám vì nó là lựa chọn hiện tại. – blakeoft

9

Trong Notepad ++, hãy sử dụng thay thế tất cả bằng cụm từ thông dụng. Điều này có lợi thế hơn lệnh chuyển đổi trong menu mà bạn có thể hoạt động trên toàn bộ thư mục w/o phải mở mỗi tập tin hoặc kéo n thả (trên vài trăm tập tin nó sẽ đáng chú ý trở nên chậm hơn) cộng với bạn cũng có thể thiết lập bộ lọc tên tập tin ký tự đại diện.

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

để

\n 

này sẽ phù hợp mỗi dòng kết thúc mô hình thể (đơn \ r, \ n hoặc \ r \ n) trở lại \ n.

Để hoạt động trên nhiều file, hoặc là:

  • Sử dụng "Replace All trong tất cả các tài liệu mở" trong "Thay thế" tab. Bạn sẽ phải kéo và thả tất cả các tệp vào Notepad ++ trước. Tốt là bạn sẽ có quyền kiểm soát tệp nào để hoạt động nhưng có thể chậm nếu có hàng trăm hoặc hàng nghìn tệp.
  • "Thay thế tệp" trong tab "Tìm trong tệp", theo bộ lọc tệp bạn chọn, ví dụ: * .cpp * .cs trong một thư mục được chỉ định.
+0

Điều này có thể gây mất EOL do thay thế một \ r \ n \ r \ n bằng một \ n. Tôi nghĩ. – Sunspawn

+0

Xác nhận đã làm việc trong Notepad ++ 6.9.1. Nó sẽ tìm kiếm về phía trước, do đó không thay thế đệ quy những cái đằng sau. – Wappenull

1

tôi mở file "trực tiếp" từ WinSCP, mở các file trong Notepad ++ Tôi đã có một file php trên máy chủ Linux của tôi mà luôn luôn mở ở định dạng Mac không có vấn đề gì tôi đã làm :-(

Nếu tôi tải về tập tin và sau đó mở nó từ địa phương (cửa sổ) nó đã được mở như Dos/Windows .... hmmm

Giải pháp là để EOL-chuyển đổi tập tin địa phương để "UNIX/OSX Format", lưu nó và sau đó tải lên nó

Bây giờ khi tôi mở tệp trực tiếp từ máy chủ, nó sẽ mở thành "D os/Windows ":-)

Các vấn đề liên quan