Ken*_*ent 12
有:t你可以使用.
例如,如果你在第77行,并且你想要在当前行下面复制第7行,即#78,你只需:
:7t.
Run Code Online (Sandbox Code Playgroud)
执行此操作后,您的光标将位于第78行,即新"粘贴"的行.
阅读:h :t细节,你可能想知道强大的:h range.
另一个优势:t,而不是y/Y就是你保持"寄存器不变.
在Vim中提取文本的方法很多
:copy或:t命令可以复制一行.例如:42t .:t可以采用搜索模式的范围.例如:?foo?t.:yank猛拉线.例如:43y:global命令抽取/复制多行.例如:g/foo/y Ama?foo<cr>yy`ap<c-o>类似于使用标记跳回.g;移动到更改列表旧的位置.(与商标相似)有关更多帮助请参阅:
:h :t
:h range
:h :y
:h m
:h g;
:h ctrl-o
Run Code Online (Sandbox Code Playgroud)
您可以使用该getline()函数读取该行并使用该append()函数写入该行:
call append('.',getline('42'))
Run Code Online (Sandbox Code Playgroud)
如果需要,您可以将其捆绑到命令中:
command! -nargs=1 FetchLine call append('.',getline(<q-args>))
FetchLine 42
Run Code Online (Sandbox Code Playgroud)