我正在使用Vim并且已将${HOME}
保存在注册表中,这是将../../..
替换为${HOME}
的最快方法吗?
LDFLAG = -L../../../libs
-L../../../libs
结果
LDFLAG = -L${HOME}/libs
-L${HOME}/libs
答案 0 :(得分:1)
假设您的光标位于<div style="display:none"> spam text and links</div>
.
的第一个../../../
,并且您的文字存储在注册a
中...
<C-v>
进入可视屏幕模式,/
的最后../../../
,"ap
从注册a
。v
进入可视模式,/
的最后../../../
,"ap
从注册a
,../../../
,.
重复。:,+s@\.\./\{3}@<C-r>e<CR>
答案 1 :(得分:1)
如果您有${HOME}
,请勾选"u
,然后按ctrl+v
,选择../../../
,然后按s
,然后按ctrl+R
(应显示"
)和您的注册信(我们的示例中为u
)。
答案 2 :(得分:0)
我不知道“我有${HOME}
保存在寄存器上”意味着但最简单的解决方案是
:%s#\M../../..#${HOME}#
它正在用../../..
替换所有${HOME}
,或者如果您真的使用了注册表(例如@a
),那么您可以使用\=@a
代替{{1}使用寄存器${HOME}
的内容替换匹配。
a
:打开命令提示符:
:整个缓冲区...... %
:...替换(substitute)匹配... s
:... non-magic pattern(例如文字字符串)\M
:使用sharp而不是大多数使用的斜杠(#
)作为分隔符,因为模式包含斜杠