在Vim中复制整行

这篇博客讨论了如何在Vim中高效地复制整行,类似于IDE中的快捷方式。介绍了多种方法,包括yy、Y、p、P等组合,以及可视模式和自定义映射等高级技巧。还提到了与其他编辑器的快捷键对比,帮助Vim新手更好地理解和使用。
摘要由CSDN通过智能技术生成

如何以类似于IntelliJ IDEA / Resharper中的Ctrl + D或Eclipse中的Ctrl + Alt + / ↓的方式在Vim中复制整行?


#1楼

普通模式:查看其他答案。

防爆方式:

  • :t. 将复制该行,
  • :t 7将在第7行之后将其复制
  • :,+t0将在文件开头复制当前行和下一行( ,+是范围.,.+1的同义词),
  • :1,t$将复制从开始到光标位置到末尾的行( 1,是范围1,. .的同义词)。

如果您需要移动而不是复制,请使用:m而不是:t

如果将它与:g:v结合使用,这将非常强大。

  • :v/foo/m$会将所有不匹配“ foo”模式的行移到文件末尾。
  • :+,$g/^\\s*class\\s\\+\\i\\+/t. 将在光标之后立即复制格式class xxx所有后续行。

参考:: :help range:help :t:help :g:help :m:help :v


#2楼

另一种选择是:

nmap <C-d> mzyyp`z

使您可以保留光标位置。


#3楼

我喜欢: Shift + v (立即选择整行,并根据需要选择其他行),y,p


#4楼

y y p-在之后粘贴

Y Y P -粘贴前


#5楼

复制并粘贴到vim中

没有比这更简单的了! 在普通模式下:

yy

然后移至您要粘贴到的行

p

#6楼

默认值为y y p ,但是我已经使用这种重新绑定大约一年了并且喜欢它:

" set Y to duplicate lines, works in visual mode as well. nnoremap Y yyp vnoremap Y y`>pgv


#7楼

对于开始学习vi的人来说,这是对vi的很好的介绍,它通过并排列出典型Windows GUI编辑器光标移动和快捷键的vi命令。 它列出了所有基本命令,包括yy (复制行)和p (粘贴后)或P (粘贴前)。

Windows用户的vi(Vim)


#8楼

". 对于不知道vi的人,上面的一些答案可能会用“在之前/之前粘贴...”这样的短语误导他。
". 它实际上是“在之前/之后粘贴...”。

y yy复制行
要么
d d删除行

然后

p来粘贴在光标 之后复制或删除文本
要么
P将复制或删除的文本粘贴到光标 之前


有关更多键绑定的信息,请访问以下网站: vi完整的键绑定列表


#9楼

如果您想复制一行并将其立即粘贴到当前行下方,就像在Sublime Ctrl + Shift + D中一样 ,则可以将其添加到您的.vimrc文件中。

nmap <SCd> <Esc>Yp

或者,对于插入模式:

imap <SCd> <Esc>Ypa


#10楼

我喜欢使用此映射:

:nnoremap yp Yp

因为它可以与本机YP命令一起使用保持一致。


#11楼

我知道我晚会晚了,但是无论如何。 我的.vimrc中有这个:

nnoremap <C-d> :copy .<CR>
vnoremap <C-d> :copy '><CR>

:copy命令仅将所选行或范围(总是整行)复制到作为其参数给出的行号以下。

在正常模式下,这是copy . 复制此行到此行的正下方

在可视模式下,它会变成'<,'> copy '> 从选择开始到选择结束到选择结束下方的行的复制


#12楼

做这个:

首先, y y复制当前行,然后p粘贴。


#13楼

Y Y

将取消当前行而不删除它

d d

将删除当前行

p

put通过任何以前的方法抢下线


#14楼

1陷阱:使用“ p”放置该行时,它将其放置光标所在的行之后,因此,如果要在要拖动的行之后添加该行,请不要将光标向下移动到一行在换行之前。


#15楼

y yY复制行(助记符: y ank
要么
d dd elete行(VIM拷贝你删除到剪贴板中,如“注册”,如剪切操作)

然后

pp ASTE复制或在当前行之后删除的文本
要么
PP ASTE复制或当前行之前删除的文字


#16楼

YPYpyyp


#17楼

Y Y p -具有记得“YIPPEE!”

多行,中间有数字:

y 7 y p


#18楼

如果您想要其他方式:

"ayy :这会将行存储在缓冲区a

"ap :这会将缓冲区a的内容放在光标处。

有很多变化。

"a5yy :这会将5行存储在缓冲区a

请参阅“ Vim帮助文件,以获取更多乐趣。


#19楼

您也可以尝试<Cx> <Cl>,它将重复插入模式的最后一行,并为您提供包含所有行的完成窗口。 它几乎像<Cp>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值