Vim удалить пустые строки - PullRequest
645 голосов
/ 01 апреля 2009

Какую команду можно запустить для удаления пустых строк в Vim?

Ответы [ 14 ]

1178 голосов
/ 01 апреля 2009
:g/^$/d

:g выполнит команду в строках, которые соответствуют регулярному выражению. Регулярное выражение - пустая строка, а команда - :d (удалить)

173 голосов
/ 01 апреля 2009

Нашел, это:

g/^\s*$/d

Источник: Мощность г на vim wikia

49 голосов
/ 01 апреля 2009
:v/./d

или

:g/^$/d

или

:%!cat -s
42 голосов
/ 07 апреля 2009

Следующее можно использовать для удаления только нескольких пустых строк (уменьшить их до одной пустой строки) и оставить без изменений отдельные пустые строки:

:g/^\_$\n\_^$/d
13 голосов
/ 26 октября 2012
  1. как убрать все пустые строки

    :%s,\n\n,^M,g
    

    (сделать это несколько раз, используя все пустые строки, ушедшие)

  2. как убрать все пустые строки, оставив ОДИНОЧНУЮ пустую строку

    :%s,\n\n\n,^M^M,g
    

    (сделать это несколько раз)

  3. как убрать все пустые строки, оставив две пустые строки в максимуме,

    :%s,\n\n\n\n,^M^M^M,g
    

    (сделать это несколько раз)

чтобы ввести ^ M, я должен контролировать -Q и контролировать-M в windows

6 голосов
/ 01 апреля 2009

Как насчет:

:g/^[ \t]*$/d
5 голосов
/ 28 февраля 2014

Это работает для меня

:%s/^\s*$\n//gc

5 голосов
/ 02 мая 2012

Эта функция удаляет только две или более пустых строки, поместите строки ниже в ваш vimrc, затем используйте \ d для вызова функции

fun! DelBlank()
   let _s=@/
   let l = line(".")
   let c = col(".")
   :g/^\n\{2,}/d
   let @/=_s
   call cursor(l, c)
endfun
map <special> <leader>d :keepjumps call DelBlank()<cr>
5 голосов
/ 01 мая 2012

работа с Perl в VIM:

:%!perl -pi -e s/^\s*$//g

4 голосов
/ 07 апреля 2014

Я попробовал несколько ответов на этой странице, но многие из них не сработали для меня. Может быть, потому что я использую Vim на Windows 7 (не смейся, просто пожалей меня: p)?

Вот самый простой из найденных мной, который работает на Vim в Windows 7:

:v/\S/d

Вот более длинный ответ на Vim Wikia: http://vim.wikia.com/wiki/Remove_unwanted_empty_lines

...