2010-01-18 29 views
16

我有一個從EBCDIC轉換爲ASCII的文件。以前有新行的地方現在有字符顯示爲< 85>(代表單個字符的符號,而不是顯示的四個字符)並且整個文件在一行上。我想搜索它們,並再次用新的行替換它們,但我不知道如何。如何在Vim中搜索顯示爲<85>的字符?

我試圖把光標移到一個使用*搜索下一個出現的,希望它會在我/的搜索歷史記錄顯示。這沒有用。它只是搜索了跟在<85>字符後面的單詞。

我用Google搜索周圍的一些,但沒有看到任何明顯。

我的目標是建立一個搜索和替換字符串,如:

:%s/<85>/\n/g 

目前只是給了我:

E486: Pattern not found: <85> 

謝謝!

+0

您可以按'Ÿ'複製單個字符。 – 2010-02-02 15:29:29

回答

23

我發現this post從谷歌搜索。好像你應該能夠做到:

:%s/\%x85/\r/gc 

(略去c做更換無提示,與c第一次嘗試,以確保它是做你想讓它做什麼)

在vim,打字:h \%x給出了更多細節。除了\%x,您可以使用十進制,八\%d\%o\%u\%U,最多四個和最多八個十六進制字符。

+0

釘住它。謝謝! – 2010-01-18 16:25:26

-4

試試這個::%s/<85>/^M/g

注:按Ctrl-V一起則M

,或者如果你不介意使用另一種工具,

awk '{gsub("<85>","\n")}1' file 
+0

\ n不是問題。這是<85>。不過謝謝。 – 2010-01-18 16:01:59

+0

它適合我。顯示您的示例文件 – ghostdog74 2010-01-18 16:06:55

+0

的「<85>」是一個字符,不的四個字符的字符串<,8,5,和>。 – 2010-01-18 16:10:23

相關問題