2017-06-14 74 views
-1

這些內容在我的文件如何在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 

我要選擇並刪除所有的垃圾信息,除從VIM一個鏡頭的文件名。我該怎麼做?

+0

Stack Overflow是用於編程和發展問題的站點。這個問題似乎與題目無關,因爲它不涉及編程或開發。請參閱幫助中心的[我可以詢問哪些主題](http://stackoverflow.com/help/on-topic)。也許[超級用戶](http://superuser.com/)或[Unix&Linux堆棧交換](http://unix.stackexchange.com/)會是一個更好的地方。如果您覺得它在其他地方的話題,然後[請求遷移](http://meta.stackoverflow.com/q/254851) – jww

回答

0

嘿VIM支持virtual block mode

其中您可以選擇列式選擇數據。

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

2:選擇您想要刪除的所有列和press d

3:要保存文件並退出按:wq

1

只需選擇帶有Ctrl-v的塊並用d將其刪除。

1

隨着:help :normal和一個簡單的普通模式命令:

:%normal! d8W 

這意味着「在緩衝區的每一行,刪除,直到第8個字」。

隨着取代:

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

這意味着「替代高度組的每個序列由一個或多個非空白字符,隨後一個或多個空白字符,從行的開頭開始」。

0

給下面的命令:

:1,$s/.* //g 
+0

這是一個很好的答案,但它不能正常工作的符號鏈接他的例子,也沒有嵌入空間的文件名 –

+0

是的,它沒有。在一個命令中執行整個操作的要求有點高。人們可以去第一線,並命令8dW。這爲一條線做了工作。然後繼續下去一行,然後按。 (期)。 – kjohri

+0

其實並非如此。命令應該是這樣的::%s/^。{44} // –