2015-01-10 25 views

回答

4

既然你寫了一個函數,你不需要像這樣鏈接命令。 (這樣的鏈接命令也沒有達到你期望的效果。)

全局命令不能用bar分隔。相反,它所做的是在[A-Z]的每一行上運行d | :%s/$/\/!/g。這顯然是錯誤的。要解決這個問題,你只需要在全局命令之後運行substitute命令(這是你的意圖)。由於有兩行大寫字母,因此替換會執行兩次。所以你得到/!/!加上每一行的結尾。

所以下面應該是固定功能。

function PrepareDic() 
    g/[A-Z]/d 
    %s/$/\/!/g 
endfunction 

如果你真的想用吧分隔命令,你需要在全球傳遞給exec。然而這並不是真的有必要。

exec 'g/[A-Z]/d' | %s/$/\/!/g 
相關問題