我在学习VI/VIM。我想知道如何将文本从我的光标删除到文件中的其他位置。我知道如何删除一行(dd)和多行(5dd)以及行尾(d $),但不是,例如从光标到下一行的中间或下一行的中间两三行。VIM从光标移到文件中的另一个位置
感谢您的任何提示。 干杯!
我在学习VI/VIM。我想知道如何将文本从我的光标删除到文件中的其他位置。我知道如何删除一行(dd)和多行(5dd)以及行尾(d $),但不是,例如从光标到下一行的中间或下一行的中间两三行。VIM从光标移到文件中的另一个位置
感谢您的任何提示。 干杯!
您可以在d
之后使用任何动作。例如,要删除两个单词,您可以执行d2w
。或者要删除左边的10个字符,可以执行d10h
,或者删除接下来的两行,执行d2j
。对于像'删除到下一行的中间部分'这样的更复杂的事情,我通常只需要v
进入选择模式,使用hjkl选择我需要的,然后点击d
删除它。如果您执行块选择模式Ctrl+v
,则可以选择需要删除的块并点击d
。希望有所帮助。
你是什么意思“中间”?
你跟d{motion}
删除,其中包括像的东西:
d5w - delete the next 5 words
d/test - delete up to the word test
看到
:help d
:help motion
和motion.txt在帮助链接(也在线http://vimdoc.sourceforge.net/htmldoc/motion.html)
我用让vi宏在标记之间删除。例如使用ma
做标记的,然后把光标移到您想让它和:
mb'a"ad'b
将使标记B,并从关口删除对B插入缓冲“一”
mb'a"ay'b
将复制(不删除)
"ap
将返回文本。
(从内存这是基于全行,而不是“在一条线上的位置”)
感谢所有答案的答案。我已经将v用于视觉模式,但没有考虑使用这个(新手脑袋),我只是试了一下而且效果很好。谢谢,所有! –
答案答案=> GREAT答案。 –