如何在 vi 编辑器中删除选定的文本

我正在使用 PuTTY 和 vi 编辑器。如果我用鼠标选择5行并且想删除这些行,我该怎么做呢?

此外,我如何能够选择行使用我的键盘,因为我可以在 Windows 中,我按 Shift和移动箭头选择的文本?我怎么在 vi 中做到这一点?

271631 次浏览

用鼠标突出显示只会突出显示终端上的字符。VI 并没有真正得到这些信息,所以你必须用不同的方式突出显示。

按“ v”进入选择模式,并使用箭头键移动它。要删除,按 x。 要一次选择线条,请按 shift + v。 要选择块,可以尝试 ctrl + v,这对于在代码前插入大量注释行很有用:)。

我对 VI 没有意见,但是我花了一段时间才改进。我的同事向我推荐了 这张小抄。我在墙上打印了一份,以防我忘了什么东西。

黑客愉快!

当使用像 腻子这样的终端时,鼠标点击和选择通常是 没有传输到远程系统。Vi 不知道您刚刚选择了一些文本。(这种情况也有例外,但通常鼠标操作不会被传输。)

要删除 vi 中的多行,可以使用类似 5dd的命令来删除5行。

如果你不使用 维姆,我会 很强烈建议这样做。您可以使用视觉选择,按 V开始一个视觉块,移动光标到另一端,并按 d删除(或任何其他编辑命令,如 y复制)。

我正在使用 PuTTY 和 vi 编辑器。如果我用鼠标选择5行并且想删除这些行,我该怎么做呢?

忘记鼠标。删除5行,要么:

  • 转到第一行并键入 d5d(dd删除一行,d5d删除5行) ~ 或 ~
  • 键入 Shift-v进入 线性选择模式线性选择模式,然后使用 j向下移动光标(是的,使用 hjkl分别移动 左边放下j0和 j1,这比使用箭头效率高得多) ,然后键入 d删除选定内容。

此外,我如何能够选择行使用我的键盘,因为我可以在 Windows 中,我按 Shift和移动箭头选择的文本?我怎么在 vi 中做到这一点?

如前所述,要么使用 Shift-v进入线性选择模式,要么使用 v进入特征选择模式,要么使用 Ctrl-v进入分块选择模式。然后与 hjkl一起移动。

我建议花一些时间与 Vim 家教(运行 vimtutor) ,以一种非常说教的方式更加熟悉 Vim。

参见

用 Vi 的方式。

删除5行按: 5dd(5删除)

要选择(实际上将它们复制到剪贴板) ,输入: 10yy

这有点难以理解,但是在使用这些远程终端时非常容易学习

注意一些编辑的学习曲线:


(来源: Calver 在 unix.rulez.org)

如果你想删除一个文件中的所有行从您当前的行号,使用 dG,它会删除所有行 (shift g)意味着文件结束

如果要使用行号删除,可以使用:

:startingline, last line d

例如:

:7,20 d

这个示例将删除第7行到第20行。