2010-11-12 5 views

ответ

353
dgg 

удалит все из вашей текущей строки в начало файла.

d - команда удаления, а gg - это команда перемещения, которая говорит, чтобы перейти в верхнюю часть файла, поэтому при совместном использовании это означает удаление из моей текущей позиции в верхнюю часть файла.

+20

И kdgg сделает то же самое, за исключением того, что не удалит данную строку. – Rook

+0

Что именно означает 'gg' after delete? – cxdf

+2

gg - ярлык Vim - ": help gg" говорит: Goto line [count], по умолчанию первая строка, на первом непустом символе | linewise |. Если startofline 'не установлен, сохраните тот же столбец. –

34
kdgg 

удалить все строки над текущим.

+5

Это немного запутанно; он фактически перемещает курсор вверх по строке с помощью 'k', а затем удаляет текущую строку и вверх с помощью' dgg'. – dimo414

+2

И используйте 5kdgg для удаления всех строк на 5 строк выше текущего.) –

29

:1,.d удаляет строки 1 до текущего.
:1,.-1d удаляет строки 1 до выше текущего.

(Лично я бы использовать dgg или kdgg, как и другие ответы, но TMTOWTDI.)

+23

Я пробовал 'TMTOWTDI', но он просто оставляет меня в режиме вставки без удаления чего-либо? –

+10

TMTOWTDI не является одним из самых простых способов сделать это. – Sarah

+2

Единственный вариант, который работает в VI тоже – basin

5

d1G = удалить начало текущей строки, включая (VI)

3

Обеспечивая вы знаете, эти ВИМ команды:

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 

Cheers.

Смежные вопросы