我有一個準備在Java語句,我正在添加一個參數的前面。長話短說,我必須採取大量的設置方法,並將其第一個參數增加1.vim正則表達式增加所有數字1
我想要一個快速的方式來執行搜索並替換匹配所有數字,然後將它們加1。
我有一個準備在Java語句,我正在添加一個參數的前面。長話短說,我必須採取大量的設置方法,並將其第一個參數增加1.vim正則表達式增加所有數字1
我想要一個快速的方式來執行搜索並替換匹配所有數字,然後將它們加1。
想通了。
%s/\d\+/\=(submatch(0)+1)/g
http://vim.wikia.com/wiki/Using_an_expression_in_substitute_command
你需要知道的唯一的正則表達式是\d
。
:g/\d/exe "normal! \<C-A>"
如何讓這個全局變量(比如''s'的'g'修飾符)。同樣,你需要逃避你的'+' – user606723
@ user606723:g的定義是全球性的 –
這個問題更好地回答了這個問題,因爲只有第一個數字增加了(問題中提到的第一個數字),而接受的答案將增加所有數字。 – Matthew
yup。儘管如此,不應該需要整個表達式中的parens。 '\ = submatch(0)+ 1'應該能夠做到這一點。 –