Vim 菜鸟在这里。我正在尝试选择多行代码来复制和粘贴到其他区域。有没有办法不使用鼠标来做到这一点?
3 回答
其他一些根本不使用视觉模式的方法:
使用标记
在某处留下标记
ma搬到别处
从这里拉到那里
y'a
使用搜索动作
在要拉出的部分末尾本地化一些唯一标记
y/foo<cr>使用(向前搜索)或y?bar<cr>(向后搜索)从这里拉到那里
使用文本对象
确定什么文本对象将映射到您要拉动的内容:
内/外字,
iw/aw内/外对,
i'"([{</a'"([{<内部/外部 html 标记,
it/at句子,
s段落,
p“堵塞”,
]…</p>
拉那个文本对象,比如说,
yip
使用其他动作
拉到函数末尾:
y]}拉到文件末尾:
yG
上述所有具有视觉模式的解决方案
V'ayV/foo<cr>yV?bar<cr>yVipy, ETC。V]}yVGy
:h motion.txt希望会让你大吃一惊,就像它对我的一样。
您可以将光标放在要复制的第一行,然后键入要复制nyy的n行数。例如,键入2yy以复制光标下的两行。
然后,您可以使用p.
您还可以通过将光标放在某处并按住 Shift 来选择多行。将光标移动到所需选择的末尾并停止按 Shift。y然后使用 just (而不是)复制yy并粘贴p.
是的,在正常模式类型中V[direction],您将突出显示多行。如果您不想要整行,请使用v而不是V. 要复制它,请点击y并移动到要粘贴的区域并点击p。要删除它,而不是y使用x.
或者,您可以简单地使用[number of lines]yy来拉出一些行或[number of lines]dd剪切一些行。在这种情况下,粘贴是相同的。