vim如何删除可视区域的空行

vim如何删除可视区域的空行

$ alias vi=emacs
$ vi
(delete-matching-lines "^[ \t]*$" (window-start) (window-end))

EDIT: 根据 #7 楼意见修改。

12 个赞

哈哈哈,楼主在emacs论坛问vim就该有得到楼上这种回答的觉悟 :joy:

1 个赞

之前遇到过。:exe line('w0') . ',' . line('w$') . 's/^$//g'

核心仍然是 :1,7s/pat/rep/g 命令,使用 :exe 组合。

2 个赞

可以直接使用 delete-blank-lines,唯一的要求是空行连续

delete-blank-lines 只删除多余空行,最后会留下一行空行。

很尴尬,看来都不知道有个delete-matching-lines命令吗?

学习了。我改一下前面的回复。

1 个赞

不知道有 delete-matching-lines ,但是知道有一组命令: flush-lines , keep-lines 相对的命令,分别是仅删除 和 仅保留 匹配的行。