我有一个如下文件
a
b
c
d
e
f
g
h
i
j
k
我希望它是:
a
e
i
如何在vim中做到这一点?
您可以使用以下键序列执行此操作:
gg
qa
j
3dd
q
999@a
这就是命令的含义:
gg # jump to the beginning of the file
qa # start recording a macro in register "a"
j # move down 1 line
3dd # delete 3 lines (including the current one)
q # stop recording the macro
999@a # replay the macro from register "a"
如果您sed
的系统中有(您在 Linux、Mac OS X 或在 Windows 中使用 Git Bash),那么这样做会更简洁:
:%!sed -ne 1~4p
这将过滤整个缓冲区的内容,将其发送到sed
管道,然后该sed
命令从第 1 行开始每隔 4 行打印一次输入。