vim:如何删除整个文件的6个前导字符?
问题描述:
00001 This is line 1
00002 This is line 2
10001 ??
30004 xccddd
一个文本文件,我想删除所有行的主要6个字符。有没有可以做到这一点的一行vim正常模式命令?
:%normal! 6x
%
:
答
您可以通过删除文件
normal!
的所有行:在正常模式下
6x
执行命令:删除6个字符
或
:%s/^.\{6}//
答
只需添加一个(递归)宏解决家庭。这可难倒了:s
和:norm
命令,在“高尔夫”的方式..^_^
[email protected]@q
它使用了递归宏,这样我们就不必按类似[email protected]
。
+0
我很少看到其他人在宏中使用'+'/''
+0
我也是'+/-'迷,特别是在宏观上。 @PeterRincker – Kent
答
除了其他的答案,你也可以使用可视块模式。
- 移动光标到第一行,第一个字符:
gg^
- 调用可视块模式:
Ctrl+v
- 选择块删除:
G6l
(G
下井文件的末尾,然后向右移动l
六次) - 删除块:
x
谢谢,都工作正常,J ust好奇于什么:%正常!意思? –