我正在使用ALE插件用Black格式化Python代码。Black用空格缩进文件(AutoPep8也是如此(,但我想保留我的制表符。所以我写了这个密钥绑定来运行Black,然后用标签交换空间:
nnoremap <leader>ff :ALEFix<cr>:%retab!<cr>
当我运行这个时,它是有效的,但当我再次运行它时,空间会留在那里,当我再次执行它时,它有效,以此类推。我只工作一次,不工作下一次,以此类推…
我也尝试过,但得到了相同的结果:
nnoremap <leader>ff :ALEFix<cr>gg=G
我应该怎么做才能使它始终正确运行,运行黑色,然后始终返回我的选项卡?
我可以推测,您正在使用Ale的保存自动修复功能。保存文件时,它会将选项卡变为空格,因为black不支持选项卡,Autopep8也不支持选项卡。
Autopep8似乎确实有一些获取标签的方法。请参阅此链接。
你可以在GitHub上查看关于黑色和autoep8 情况下空格与制表符的问题