2

我有一个文本文件

00001 This is line 1
00002 This is line 2
10001 ??
30004 xccddd

我希望删除所有行的前 6 个字符。是否有可以做到这一点的单行 vim 正常模式命令?

4

3 回答 3

8

您可以通过以下方式删除它们:

  • :%normal! 6x

%: 文件的所有行

normal!:在正常模式下执行命令

6x: 删除 6 个字符

或者

  • :%s/^.\{6}//

于 2017-01-23T08:37:55.413 回答
3

只需向族中添加(递归)宏解决方案。它以“高尔夫”方式击败:sand:norm命令.. ^_^

qq6x+@qq@q

它使用递归宏,因此我们不必按类似9999@q.

于 2017-01-23T12:25:32.530 回答
0

除了其他答案,您还可以使用可视块模式。

  • 将光标移动到第一行,第一个字符:gg^
  • 调用可视块模式:Ctrl+v
  • 选择要删除的块:(G6l 向下G移动到文件末尾,然后向右移动l六次)
  • 删除块:x
于 2017-01-24T04:21:54.933 回答