如何 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
这些是我文件里的内容
-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