是否可以使用正则表达式来改变emacs中的数组索引?
e.g。对于某些C代码更改:
int my_array[4];
my_array[0] = 1;
my_array[1] = 2;
my_array[2] = 3;
为:
int my_array[4];
my_array[1] = 1;
my_array[2] = 2;
my_array[3] = 3;
用[i]
操作取代[i+1]
?
答案 0 :(得分:11)
那样的东西?
M-x query-replace-regexp my_array\[\([0-9]+\)\] RET my_array[\,(1+ \#1)]
\,替换字符串可以替换为任何lisp表达式。
(上次修改:使用\#1
代替(string-to-int \1)
)
答案 1 :(得分:1)
增量:
M-x query-replace-regexp \[\([0-9]+\)\] RET [\,(1+ \#1)]
递减:
M-x query-replace-regexp \[\([0-9]+\)\] RET [\,(1- \#1)]