通过一致的缩进,我了解如何根据vim: delete the first 2 spaces for multiple lines
如果缩进不一致,该怎么办?
示例输入:
#for i in range(5):
#print(i)
示例输出:
for i in range(5):
print(i)
我尝试使用可视块模式+'6'转到行中的第一个字符,但是'6'不会像通常一样跳至行块中的第一个非白色字符模式。
答案 0 :(得分:4)
很多方法。最简单的可能是视觉: V (选择): norm _x
CR (对于视觉范围内的每一行,请转到第一个非-缩进字符并将其删除)。 :help V
; :help :normal-range
; :help _
; :help x
但是...这应该不是问题。我建议您在同一列中使用#
进行评论:
# for i in range(5):
# print(i)
更好的是,抓住Tim Pope的Commentary插件,该插件可以轻松地用多种语言(包括Python)进行注释和取消注释。
答案 1 :(得分:0)
您可能可以在正则表达式中使用替换命令。
:%s/\(^\s*\)\S/\1/
%s
在整个文件中运行替换
\(^\s*\)
将行的开头和可选的空白字符分组
\S
与第一个非空白字符匹配-如果您要删除3个字符,可以添加更多这样的字符
\1
将替换对象设为第一组