Як видалити весь текст над певним рядком


239

Як видалити весь текст над певним рядком. Для видалення під рядком я використовую "d shift g"

Відповіді:


493
dgg

видалить усе з вашого поточного рядка до верхньої частини файлу.

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

Також

dG

видалить усі рядки на поточному або нижче


25
І kdgg зробить те саме, за винятком того, що не видалить відповідний рядок.
Грак

1
Що саме означає ggпісля видалення?

3
gg - це ярлик Vim - ": help gg" говорить: рядок переходу [count], перший рядок за замовчуванням, для першого непорожнього символу | рядок |. Якщо startofline 'не встановлено, зберігайте той самий стовпець.
Енді Уайт

35
Для тих, хто шукає, dGбуде видалено всі рядки в поточному або нижче.
dimo414

1
@ dan3 Я думаю, що значення "верхньої частини файлу" є досить зрозумілим на основі заданого питання, але ви можете редагувати мою відповідь, якщо ви хочете, або ви можете створити власну відповідь, використовуючи будь-яку термінологію, яку ви хочете.
Енді Уайт

38

:1,.dвидаляє рядки 1 в поточний.
:1,.-1dвидаляє рядки 1 вище поточного.

(Особисто я б використовував dggабо kdggподобався інші відповіді, але TMTOWTDI.)


27
Я спробував, TMTOWTDIале це, здається, залишає мене в режимі вставки, не видаляючи нічого?
занадто багато php

12
TMTOWTDI - це не один із способів зробити це.
Сара

3
tmtowtdi Існує кілька способів зробити це (TMTOWTDI або TIMTOWTDI, вимовляється "Tim Toady") - девіз Perl.
vaichidrewar

@toomuchphp Коментар був фантастичним. Але ім'я користувача ... це зробило його ідеальним. +1 вам.
Парфянський розстріл

38
kdgg

видалити всі рядки над поточним.


5
Це трохи заплутано; це фактично переміщення курсору вгору по рядку k, а потім видалення поточного рядка і вгору dgg.
dimo414

2
І використовуйте 5kdgg, щоб видалити всі рядки на 5 рядків вище поточного;)
Стефан ван ден Аккер


6

Якщо ви знаєте ці команди 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

Ура.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.