Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何在vim中选择特定的文本块?_Linux_Unix_Vim_Vi - Fatal编程技术网

Linux 如何在vim中选择特定的文本块?

Linux 如何在vim中选择特定的文本块?,linux,unix,vim,vi,Linux,Unix,Vim,Vi,这些是我档案中的内容 -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 d

这些是我档案中的内容

-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

我想从vim中一次性选择并删除除文件名以外的所有垃圾信息。如何操作?

只需使用
Ctrl-v
选择块,然后使用
d
使用
:help:normal
和简单的normal mode命令将其删除:

:%normal! d8W
这意味着“在缓冲区中的每一行,删除到第8个字”

替换为:

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

这意味着“将由一个或多个非空白字符组成的每个高度组序列替换为一个或多个空白字符,从行的开头开始”。

Hey VIM support
虚拟块模式

其中,您可以选择数据的列式选择

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

2:选择所有要删除的列,然后
按d


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

发出以下命令:

:1,$s/.* //g

Stack Overflow是一个关于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。如果您觉得它在其他地方的主题,那么这是一个很好的答案,但是对于他的示例中的符号链接或带有嵌入空格的文件名,它都不能正常工作。在一个命令中完成整个操作的要求有点高。可以转到第一行并发出8dW命令。这一行就行了。然后继续往下走,一次一行,然后按。(句号)。实际上不是。命令应该是这样的::%s/^.{44}//BTW:为什么不先执行“ls-1”?