VIM从光标删除到文件中的另一个位置

时间:2014-03-26 23:43:01

标签: vim vi

我正在尝试学习VI / VIM。我想知道如何将文本从光标中删除到文件中的其他位置。我知道如何删除一行(dd)和多行(5dd)以及一行(d $)的结尾,但不是,例如,从光标到下一行的中间或下一行的中间两三行。

感谢您的任何提示。 干杯!

3 个答案:

答案 0 :(得分:2)

您可以在d之后使用任何动作。例如,要删除两个单词,您可以执行d2w。或者要删除左侧的10个字符,您可以执行d10h,或删除下两行,执行d2j。对于像“删除下一行中间”这样更复杂的内容,我通常会v进入选择模式,使用hjkl选择我需要的内容,然后点击d将其删除。如果您执行阻止选择模式Ctrl+v,则可以选择需要删除的阻止并点击d。希望有所帮助。

答案 1 :(得分:1)

你是什么意思"中间"?

您使用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

答案 2 :(得分:0)

我曾经有过vi宏来删除标记。例如使用ma制作标记a,然后将光标放在您想要的位置:

mb'a"ad'b将标记b并从标记a到b删除到缓冲区' a'

mb'a"ay'b将复制(不删除)

"ap会收回文字。

(从记忆中这是基于整行的,而不是"在一条线上的位置")