2015-04-01 57 views
3

如果加載到tailcat,可輕鬆讀取Development.log。但是,如果將其加載到vimsublime,則該內容具有額外的轉義字符,這使得難以閱讀。例如:如何很好地顯示Rails development.log到vim/sublime?

[1m[35m (0.2ms)[0m BEGIN 
[1m[36m (776.2ms)[0m [1mCREATE TABLE "accounts" ("id" serial primary key, "user_id" integer, "type" character varying(255), "token" character varying(255), "expired_at" character varying(255), "created_at" timestamp, "updated_at" timestamp) [0m 

我猜測附加字符是用來在bash中設置顏色的。如何在vimsublime中很好地顯示?

+0

我wi = onder如果它與ecoding有關 – argentum47 2015-04-01 05:01:09

+0

它是vim命令嗎? – 2015-04-01 05:23:33

回答

2

是的,這些是ANSI Escape序列,用於切換終端中的顏色和字體屬性。由於像cat這樣的低級工具直接輸出到終端,這些打印就好了。但是Vim是一個文本編輯器,並且顯示了它自己的文本渲染,包括這些特殊字符(例如<Esc>通常顯示爲^[)。

如果你想在Vim中查看這樣的日誌輸出,最好捕捉它而不是的顏色信息。一些命令支持--no-color命令行參數;或嘗試在啓動命令之前取消設置TERMTERM=dumb

或者,AnsiEsc.vim plugin可以將轉義序列轉換爲Vim語法突出顯示。

+0

我試過AnsiEsc,它可以改變顏色,但轉義字符仍然存在。如何刪除它們? – 2015-04-01 07:55:08

+1

你需要一個具有_conceal_特性的Vim 7.3/4來隱藏它們(它們仍然會保留在文本中);檢查':echo has(「conceal」)'。 – 2015-04-01 09:29:01

+0

以前我用vim 7.3的echo'('conceal')'是0.在我更新到7.4之後,它可以工作。謝謝! – 2015-04-02 04:24:26

相關問題