В C func()
означает, что вы можете передать любое количество аргументов. Если вам не нужны аргументы, вы должны объявить как func(void)
. Тип, который вы передаете своей функции, если не указан по умолчанию int
.
Только что нашел решение здесь . Следующее регулярное выражение работает правильно:
g/^\(.*\)$\n\1$/d
Если вы просто хотите удалить смежных повторяющихся строк, просто используйте uniq, ничего не сортируя.
:%!uniq
:%!uniq
если вы используете систему unix или систему, в которой есть программа uniq
Если вы хотите удалить несмежные дубликаты, вы можете использовать
:g/^\(.*\)\ze\n\%(.*\n\)*\1$/d
(который удалит все, кроме последней копии строки)
, который изменит
Foo
Bar
Foo
Bar
Foo
Baz
Foo
Quux
на
Bar
Baz
Foo
Quux
. Если вы хотите удалить все, кроме первой копии, попробуйте
:g/^/m0
:g/^\(.*\)\ze\n\%(.*\n\)*\1$/d
:g/^/m0
, который изменит
Foo
Bar
Foo
Bar
Foo
Baz
Foo
Quux
на
Foo
Bar
Baz
Quux