我写了一些Python代码,遗憾的是在逗号之后忘记了几个空格(试图跟随Pep8)。如何用逗号后跟空格替换逗号。这里的诀窍是一些逗号已经有空格,所以如果我做一个简单的搜索和替换,一些逗号后面跟着双空格。如果我用单个空格替换双空格,那么我的标签(扩展到空格)将变得混乱。
我正在寻找合适的vim命令,如果可能的话,还要寻找合适的unix命令。我试图这样做跟随pep8。是否有任何可以自动纠正风格错误跟随pep8?我找到了识别错误的模块,但没有解决它们。
答案 0 :(得分:5)
Python解决方案:
my_new_string = my_old_string.replace(',', ', ').replace(', ', ', ')
如果你想在文件上运行它:
f = open('path/to/file')
my_file_contents = f.read()
f.close()
f = open('path/to/file', 'w')
f.write(file_contents.replace(',', ', ').replace(', ', ', '))
vim
解决方案:
:%s/,\ */,\ /g
答案 1 :(得分:2)
vim替换:
:%s/,\([^ ]\)/, \1/g
^
字符类中的前导[]
,不是这样说的。所以它[^ ]
匹配任何不是空格的东西。
\(\)
会保存内容,\1
会返回该内容。
答案 2 :(得分:2)
就自动修正错误而言,autopep8对此很有用 - 它附带了一个二进制文件,你可以使用它来纠正错误,虽然我担心我不知道你怎么打结它进入了vim。
答案 3 :(得分:2)
在vim中进行一次性替换:
:%s/\v,(\S)/, \1/g
但是请使用vim插件。