2012-12-11 45 views
0

我有一個惡意軟件,我設法deofusacte成一個非常糟糕的javascript的單行。我正在尋找一種方法將整個事件分解成更易於管理的外觀。我是否可以在vim/sed中執行遞歸調用,在該函數中,我將代碼拆分爲基於方括號的串並將其格式化爲我的喜好?將單行代碼轉換爲塊格式

回答

4

如果是一行,==只是正確地重新格式化它?

如果不是(我不是真正熟悉Vim的格式的細節),從我所知道的JavaScript你也許可以{後添加換行符,;}並取得與該很長的路要走。

:%s/[{;}]/&\r/g 

然後做gg=G去文件的頂部,並格式化的底部。

如果你不介意做一點更多的工作,如果在事後的自動套用格式無法工作,你也可以做類似/[{;}]其次qaqqaa<Enter><Escape>[email protected]這將清除「A」註冊,然後定義一個宏在那個命中的記錄中,在找到的角色後面進入,命中逃跑,然後進入下一場比賽並再次執行。這有點不禮貌,但可能適合您的需求。 (按enter和escape鍵,而不是在上面我的字符串中輸入括號內的文字)。

+0

謝謝,它已經足夠接近它可以閱讀的地方了。 – Blackninja543

2

那麼,你可以使用基於括號和分號的幾個替代,但是惡意軟件作者(和自我重要的JS忍者搖滾明星)喜歡放棄它們,所以這種方法可能不適用於你的代碼段。

東西,如:

:%s/{/{\r 
:%s/};/\r}; 

你嘗試jsbeautifier