如何 select vim 中的特定文本块?

How do I select a specific block of text in vim?

这些是我文件里的内容

-r-xr-xr-x 1 dinesh eng  29072 Aug 26  2004 config.sub
-r-xr-xr-x 1 dinesh eng  38515 Aug 26  2004 config.guess
-r-xr-xr-x 1 dinesh eng   5643 Aug 26  2004 install-sh
-r-xr-xr-x 1 dinesh eng    767 Aug 26  2004 mkinstalldirs
-r-xr-xr-x 1 dinesh eng   6328 Aug 26  2004 missing
-r-xr-xr-- 1 dinesh eng    440 Aug 27  2004 build.sh
-r--r--r-- 1 dinesh eng    975 Apr  2  2015 Makefile.am
-r--r--r-- 1 dinesh eng   1153 Apr  2  2015 configure.ac
-r-xr-xr-- 1 dinesh eng    952 Apr  2  2015 autogen.sh
drwxrwxr-x 4 dinesh eng   4096 Nov 30  2016 Scripts
lrwxrwxrwx 1 dinesh eng     35 Dec  1  2016 ltmain.sh -> /usr/share/libtool/config/ltmain.sh
-rw-rw-r-- 1 dinesh eng   2801 Dec  1  2016 config.h.in
lrwxrwxrwx 1 dinesh eng     32 Dec  1  2016 depcomp -> /usr/share/automake-1.11/depcomp
drwxrwxr-x 7 dinesh eng   4096 Dec  1  2016 install
-rw-rw-r-- 1 dinesh eng  41966 Feb 14 00:30 aclocal.m4
drwxr-xr-x 2 dinesh eng     81 Feb 14 00:30 autom4te.cache
-rwxrwxr-x 1 dinesh eng 606261 Feb 14 00:30 configure
drwxrwxr-x 3 dinesh eng   4096 Feb 14 00:30 bin
drwxrwxr-x 3 dinesh eng     53 Feb 14 00:30 preinstall
drwxrwxr-x 4 dinesh eng   4096 Feb 14 00:30 share
drwxrwxr-x 7 dinesh eng     97 Feb 14 00:30 test
-rw-rw-r-- 1 dinesh eng  26776 Feb 14 00:30 Makefile.in
drwxrwxr-x 9 dinesh eng   4096 Feb 14 00:31 build
-rw-rw-r-- 1 dinesh eng     10 Feb 14 00:35 stamp-h.in
drwxrwxr-x 3 dinesh eng   4096 Feb 23 09:25 conf
drwxrwxr-x 2 dinesh eng   4096 Apr  3 01:34 SCCS
drwxrwxr-x 4 dinesh eng   4096 Apr  3 01:34 doc
drwxrwxr-x 5 dinesh eng  12288 Apr  3 01:48 lib
drwxrwxr-x 3 dinesh eng   4096 Apr  3 01:48 src
drwxrwxr-x 8 dinesh eng     79 Jun  9 02:58 BitKeeper

我想select从vim中一次性删除除文件名以外的所有垃圾信息。我该怎么做?

只需 select 带有 Ctrl-v 的块并使用 d 将其删除。

使用:help :normal和一个简单的普通模式命令:

:%normal! d8W

这意味着 "on every line in the buffer, delete until the 8th WORD"。

替换:

:%s/^\(\S\+\s\+\)\{8}

这意味着 "substitute every sequence of height groups made of one or more non-whitespace characters followed by one or more white-space characters, starting from the beginning of the line"。

嘿嘿VIM支持virtual block mode.

您可以在其中选择数据的列选择。

1: 使用 vim 打开文件,按 Ctrl+v

2:Select 您要删除的所有列和 press d

3:要保存文件并退出,请按 :wq

给出以下命令:

:1,$s/.* //g