Regex VIM正则表达式是否将文本向上移动?维姆高尔夫
有人能告诉我如何在vim中解决这个问题吗? 我可以看到行从空格开始,但是向上移动文本不起作用Regex VIM正则表达式是否将文本向上移动?维姆高尔夫,regex,vim,Regex,Vim,有人能告诉我如何在vim中解决这个问题吗? 我可以看到行从空格开始,但是向上移动文本不起作用 |- | | 199 | TNET revenue | Most Recent (Last) | Purchase | Counter | Enabled |- | | 200 | Page Category (eVar 30) | Most Recent (Last) | Visit | Text String | Enabled |- 我想创造这个: |- | | 199
|-
|
| 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
|-
谢谢这似乎起到了作用:
:%s/n/
你可以使用:global
(实际上是:g!
)和:join
:
:g!/^|/-1,.join
说明:
在与模式匹配的每一行上运行命令:g/{pat}/{cmd}
{cmd}
缺少:g
:global
在与模式不匹配的每一行上运行一个命令李>:g/{pat}/{cmd}
(:vglobal
)与:v
:g代码>
- 使用
作为:join
中的{cmd}
:g/{pat}/{cmd}
将加入一个范围,:[range]join
行。类似于正常模式下的[range]
<代码>:简称jJ
-一个范围包含一个起始行和一个结束行{start},{end}
是-1、.
-1、.join的范围
表示当前行的-1
-1
是当前行- 在
中,可以假定-1
,这样它就可以变成1
-
也可以假定,.
:v/^|/-j
我不会太担心打高尔夫球。最重要的是认识到一个问题并学会如何克服它
有关更多帮助,请参阅:
:h :v
:h :j
:h :range
你试过什么方法来解决它吗?非常有趣。你还能告诉我为什么用连字符和小j吗?Join根据说明使用大J。它必须是大J。
-J
使用J
到上一行<代码>-选择上一行谢谢