【发布时间】:2018-12-08 07:55:42
【问题描述】:
我找到了这个
:%g/<h[12]>/ t$
它说
这个命令在我们的文件中搜索以
<h1>或开头的行<h2>并将它们复制到文件末尾。
但是我看不懂/ t$这部分是什么意思?
【问题讨论】:
我找到了这个
:%g/<h[12]>/ t$
它说
这个命令在我们的文件中搜索以
<h1>或开头的行<h2>并将它们复制到文件末尾。
但是我看不懂/ t$这部分是什么意思?
【问题讨论】:
如果您在vim 中运行此help 命令:
:help copy
它将显示以下可以解释一切的帮助:
:[range]co[py] {address} *:co* *:copy*
Copy the lines given by [range] to below the line
given by {address}.
*:t*
:t Synonym for copy.
详细信息:
:g:全球搜索<h[12]>:搜索<h1> 或<h2>
t$ 或copy$:将[range] 给出的行复制到{address} 给出的行下方。你可以让它更冗长。但使用此等效命令更具可读性:
:%g/<h[12]>/ copy$
或者这个:
:%g/<h[12]>/ co$
要在文件开始处复制匹配的行,请使用:
:%g/<h[12]>/ copy0
【讨论】:
% 是运行命令的行范围 -- % 是整个文件。
g 命令是“全局的”——搜索匹配正则表达式的行并将另一个命令应用于匹配的行
/<h[12]>/ 是要匹配的正则表达式。
t 命令是“复制”——将选定的行复制到某处。 $ 已结束,因此将这些行复制到文件末尾。
【讨论】: