谁能告诉我如何在vim中解决这个问题? 我可以看到行从空格开始的位置,但是将文本向上移动不起作用。
|-
|
| 199
| TNET
revenue
| Most
Recent (Last)
| Purchase
| Counter
| Enabled
|-
|
| 200
| Page
Category (eVar 30)
| Most
Recent (Last)
| Visit
| Text
String
| Enabled
|-
我想创建这个:
|-
|
| 199
| TNET revenue
| Most Recent (Last)
| Purchase
| Counter
| Enabled
|-
|
| 200
| Page Category (eVar 30)
| Most Recent (Last)
| Visit
| Text String
| Enabled
|-
谢谢
答案 0 :(得分:2)
这似乎可以解决问题::%s/n / /
答案 1 :(得分:1)
您可以使用:global
(实际上是:g!
)和:join
:
:g!/^|/-1,.join
说明:
:g/{pat}/{cmd}
在与模式{cmd}
匹配的每一行上运行命令{pat}
:g
缺少:global
:g!/{pat}/{cmd}
在不与模式不匹配的每一行上运行命令。 :vglobal
(简称为:v
)与:g!
:join
中将{cmd}
用于:g!/{pat}/{cmd}
:[range]join
将加入一系列[range]
行。与普通模式下的J
类似。 :j
的缩写。{start},{end}
-范围包含开始线和结束线-1,.
是-1,.join
的范围-1
是指当前行中的-1
.
是当前行-1
中,可以假设1
可以变成-
,.
缩短命令的所有内容:
:v/^|/-j
我不会太担心高尔夫球。最重要的是识别问题并学习如何解决。
有关更多帮助,请参见:
:h :v
:h :j
:h :range