我在Python脚本中有一堆本地变量引用,我想从字典中提取.所以,我需要本质上的变化foo,bar和其他人进入env['foo'],env['bar']等等.我是否需要编写正则表达式并将每个变量名称匹配以进行转换,或者是否有更直接的方法可以重复使用该.命令?
您可以使用宏:一次性输入这些命令(仅用空格插入注释)
" first move to start of the relevant word (ie via search)
qa " record macro into the a register.
ienv['<esc> " insert relevant piece
ea'] " move to end of word and insert relevant piece
q " stop recording
Run Code Online (Sandbox Code Playgroud)
然后,当你在下一个单词时,只需点击@a重播宏(或者甚至@@重复上一次重播).
小智 5
有一种更简单的方法 - 您可以使用正则表达式搜索和替换.通过键入冒号进入cmdline模式,然后运行此命令:
%s/\\(foo\|bar\|baz\\)/env['\1']/
Run Code Online (Sandbox Code Playgroud)
替换foo,bar以及baz任何您的实际变量名称.您可以根据需要添加任意数量的其他变量,只需确保使用反斜杠转义OR管道.希望有所帮助.