2010-11-12 77 views

回答

353
dgg 

將刪除從當前行到文件頂部的所有內容。

d是刪除命令,而gg是一個移動命令,表示轉到文件的頂部,所以當一起使用時,這意味着從我當前位置刪除到文件頂部。

+20

和kdgg會做同樣的事情,除非不刪除相關行。 – Rook 2010-11-12 05:40:39

+0

刪除後的'gg'是什麼意思? – cxdf 2013-03-06 18:39:43

+2

gg是一個Vim快捷方式 - 「:help gg」說:轉到[count],默認第一行,在第一個非空白字符| linewise |上。如果startofline沒有設置,請保留相同的列。 – 2013-03-07 15:29:53

34
kdgg 

刪除當前的所有行。

+5

這有點令人困惑;它實際上是用'k'將光標向上移動一行,然後用'dgg'刪除當前行並向上。 – dimo414 2013-10-11 19:54:42

+2

並使用5kdgg刪除當前的5行以上的所有行;) – 2015-01-23 08:43:57

29

:1,.d刪除行1到當前。
:1,.-1d刪除第1行到上面的當前行。

(我個人會使用dggkdgg像其他的答案,但TMTOWTDI。)

+23

我試過'TMTOWTDI',但它似乎讓我插入模式而不刪除任何東西? – 2010-11-12 06:38:58

+10

TMTOWTDI不是其中之一。 – Sarah 2010-11-12 09:04:07

+2

在VI中工作的唯一變種 – basin 2012-07-09 07:38:53

5

d1G =刪除頂部包括當前行(六)

3

提供你知道這些VIM命令:

1G -> go to first line in file 
G -> go to last line in file 

那麼,下面更有意義,更單一,更容易記住恕我直言:

d1G -> delete starting from the line you are on, to the first line of file 
dG -> delete starting from the line you are on, to the last line of file 

乾杯。

相關問題