2013-04-26 57 views
75

出於某種原因,當我從Windows機器上的unix服務器打開文件時,它們偶爾會進行Macintosh EOL轉換,並且當我再次編輯/保存它們時,它們在unix上無法正常工作服務器。我只使用notepad ++來編輯這個unix服務器中的文件,那麼有沒有辦法創建一個當我打開文件時自動將EOL轉換爲Unix格式的宏?記事本中的EOL轉換++

+0

可能重複[一次改變多個文件的EOL](http://stackoverflow.com/questions/11341660/change-eol-on-multiple-files-in-one-去) – 2015-07-23 15:50:37

+1

您的問題可能與您使用的任何FTP程序。例如,我使用WinSCP遠程訪問Unix服務器,Notepad ++被設置爲我的默認編輯器,但我必須進入WinSCP的設置並將傳輸模式設置爲'Binary'以保持行結束。因此,您可能能夠重新配置您的FTP/SCP/etc程序以不同的方式傳輸文件。 – Slicktrick 2017-02-22 22:11:42

回答

133

該功能已經內置到Notepad ++中。從「編輯」菜單中選擇「EOL轉換」 - >「UNIX/OSX格式」。您也可以通過「設置」 - >「首選項」 - >「新建文檔/默認目錄」在記事本++中設置默認的EOL,然後在格式框下選擇「Unix/OSX」。

+6

我知道編輯菜單中的轉換,您提到的設置僅適用於新文檔。我想爲每個打開的文件(或我保存的每個文件)自動進行轉換 – Jeff 2013-05-01 16:04:04

+0

問題是,當我打開一個現有的Unix文件時,「EOL轉換」 - > UNIX/OSX格式變爲灰色。記事本++是令人沮喪的用於UNIX文件,所以我使用Notetab Lite,它允許我將所有文件保存爲UNIX,而不僅僅是新的。 – 2016-12-29 16:37:04

+2

@OffTheGold UNIX EOL選項呈灰色,因爲它是當前的選擇。 – blakeoft 2017-06-06 15:47:11

9

在Notepad ++中,使用全部替換爲正則表達式。這與菜單中的轉換命令相比具有優勢,您可以在不需要打開每個文件或拖放n個文件夾(在幾百個文件上明顯變慢)的整個文件夾上操作,此外還可以設置文件名通配符篩選器。

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

\n 

這將每一個可能的行結束圖案(單\ r \ n或\ r \ n)的回\ n匹配。

對多個文件進行操作,或者:

  • 使用在「替換」選項卡「所有打開的文檔中全部替換」。您必須首先將所有文件拖放到Notepad ++中。如果有幾百或幾千個文件,您可以控制要操作哪個文件,但速度可能會很慢。
  • 「替換文件」,在「查找文件」選項卡中,由你選擇的文件過濾器,例如*的.cpp *一個指定目錄下的.cs。
+0

這可能會導致EOL因單個\ n替換\ r \ n \ r \ n而丟失。我認爲。 – Sunspawn 2016-03-20 16:16:35

+0

確認在Notepad ++ 6.9.1中工作。它會向前搜索,因此不會遞歸地替換那些後面的。 – Wappenull 2016-07-05 04:06:22

1

我打開文件「直接」從WinSCP賦予這將打開文件在記事本++ 我總是在Mac格式打開我的Linux服務器上的PHP文件,無論我做什麼:-(

如果我下載文件,然後從本地(Windows)打開它作爲Dos/Windows打開。嗯

解決方案是EOL轉換本地文件爲「UNIX/OSX格式」,保存它,然後上傳它

現在,當我直接從服務器打開文件它打開爲「D操作系統/ Windows「:-)