2009-12-02 21 views
3

適當的ASCII代碼替換字符的文件在vim的緩衝區,如果我有一組字符說:如何在vim

一個

Ç

Ç

d

D

對於每一個我想用其相應的ascii代碼(十進制)替換它。有沒有辦法做到這一點,而無需使用外部工具:r!some_tool

例如,我知道有:ascii和ga命令,但它們將值打印到屏幕上,但我找不到方法將其輸出輸入緩衝區。

+0

這看起來更像是一個superuser.com問題。 – bobbymcr 2009-12-02 16:33:33

+0

從未聽說過superuser.com ...在stackoverflow和superuser上閱讀常見問題仍然讓我不確定哪裏是正確的地方問它。但是,我將它發佈到那裏,並欣賞這一建議。 – 2009-12-02 16:46:10

+2

我認爲在這裏(在stackoverflow上)問這個問題是適當的,因爲1)vim是許多IDE的IDE,2)解決這個問題可能需要一些編碼。 – innaM 2009-12-02 18:00:07

回答

7

您可以利用sub-replace-expression功能以及char2nr()submatch()。以下內容用行號的十進制等值替換行首的任何字母字符。

%s/^\a/\=char2nr(submatch(0))/ 

如果你想在該行的開頭任何字符做到這一點,只需用.更換\a

+0

非常酷......謝謝... – 2009-12-02 17:45:58