使用vim我在编辑html / xml文件时习惯了cit
,dit
,yit
等动作命令。使用此命令后我更喜欢.
,因为我只需要一次按键即可重复我的操作。
我想知道是否已经可以使用坑(粘贴在标签内),删除标签内部并粘贴我想要的内容(例如来自+注册)并使.
可用{{1}或者,如果我需要为它创建一个映射。
答案 0 :(得分:23)
不,但您可以直观地选择并放置文字:
vitp
答案 1 :(得分:0)
Ingo Karat出色的vim-ReplaceWithRegister最有可能是您想要的。
它定义了gr
对象,以便为任何动作粘贴vim方式:
USAGE
------------------------------------------------------------------------------
[count]["x]gr{motion} Replace {motion} text with the contents of register x.
Especially when using the unnamed register, this is
quicker than "_d{motion}P or "_c{motion}<C-R>"
[count]["x]grr Replace [count] lines with the contents of register x.
To replace from the cursor position to the end of the
line use ["x]gr$
{Visual}["x]gr Replace the selection with the contents of register x.
例如,假设您必须在缓冲区的第一行放置带有光标的标签:
<mytag> aaa </mytag>
<mytag> bbb </mytag>
<mytag> ccc </mytag>
yit
照常将aaa
拖入未命名的寄存器""
中。
但是,如果您转到下一行(j
),现在就可以用vim方式替换为grit
(粘贴标签),而不会覆盖""
。
因此,如果您在第三行重复grit
,则还将ccc
替换为aaa
。当然,只需按.
以重复上一次操作,就可以使操作更快。
它也可以很好地与global
命令配合使用,即在拉动之后,您只需:%g/mytag/norm grit
即可将其替换为包含mytag
的所有行。