默认是 ÿ ÿ p ,但我一直在使用这种重新绑定一年左右而且喜欢它:
" set Y to duplicate lines, works in visual mode as well. nnoremap Y yyp vnoremap Y y`>pgv
如果你想要另一种方式:-)
"ayy 这会将行存储在缓冲区中 a
"ayy
a
"ap 这将放入缓冲区的内容 a 在光标处。
"ap
这有很多变化。
"a5yy 这将把5行存储在缓冲区中 a
"a5yy
看到 http://www.vim.org/htmldoc/help.html 为了更多的乐趣
做这个:
第一, ÿ ÿ 复制当前行,然后 p 粘贴。
我知道我迟到了,但无论如何;我在.vimrc中有这个:
nnoremap <C-d> :copy .<CR> vnoremap <C-d> :copy '><CR>
该 :copy 命令只是将选定的行或范围(总是整行)复制到作为参数给出的行号下面。
:copy
在正常模式下,这是做什么的 copy . 将此行复制到此行的下方 。
copy .
在视觉模式中,它变成了 '<,'> copy '> 从选择开始到选择结束复制到选择结束下面的行 。
'<,'> copy '>
另一种选择是:
nmap <C-d> mzyyp`z
为您提供保留光标位置的优势。
如果您想要复制一行并将其粘贴到当前的下方,就像在Sublime中一样 按Ctrl + 转移 + d ,然后你可以添加到你的 .vimrc 文件。
.vimrc
imap <S-C-d> <Esc>Yp
对于那些开始学习vi的人来说,通过列出并排vi命令到典型的Windows GUI Editor光标移动和快捷键,这里是对vi的一个很好的介绍。它列出了所有基本命令,包括 YY (复制线)和 p (粘贴后)或 P (之前粘贴)。
适用于Windows用户的vi(Vim)
ÿ ÿ 要么 ÿ 复制该行 要么 d d 删除(剪切)该行
然后
p 粘贴复制或删除的文本 后 当前行 要么 P 粘贴复制或删除的文本 之前 当前行
1陷阱:当你使用“p”来放线时,就把它放了 后 光标所在的行,所以如果你想在你正在行的行之后添加行,请不要在放入新行之前将光标向下移动一行。
我喜欢使用这个映射:
:nnoremap yp Yp
因为它使得它与原生一起使用是一致的 YP 命令。
YP
YP 要么 Yp 要么 yyp 。
Yp
yyp
对于不了解vi的人,上面的一些答案可能会误导他,例如“粘贴......之后/之前” 当前行 的 的 ”。 它实际上是“粘贴......后/之前 光标 的 的 ”。 ÿ ÿ 要么 ÿ 复制该行 要么 d d 删除该行
p 粘贴复制或删除的文本 后 该 光标 要么 P 粘贴复制或删除的文本 之前 该 光标
有关更多键绑定,您可以访问此站点: vi完整的密钥绑定列表
普通模式:见其他答案。
该 防爆 办法:
:t.
:t 7
:,+t0
,+
.,.+1
:1,t$
1,
1,.
如果您需要移动而不是复制,请使用 :m 代替 :t 。
:m
:t
如果将它与它结合使用,这可能非常强大 :g 要么 :v :
:g
:v
:v/foo/m$
:+,$g/^\s*class\s\+\i\+/t.
class xxx
参考: :help range , :help :t , :help :g , :help :m 和 :help :v
:help range
:help :t
:help :g
:help :m
:help :v
我喜欢: 转移 + v (如果需要,立即选择整行,让你选择其他行),y,p
没有比这简单!从正常模式:
yy
然后移动到要粘贴的行和
p