gpt4 book ai didi

vim - 如何在 Vim 中修剪文件末尾的空行?

转载 作者:行者123 更新时间:2023-12-02 01:29:20 26 4
gpt4 key购买 nike

有时我会不小心在正在编辑的文件末尾留下空行。
如何在 Vim 中保存时修剪它们?

更新

谢谢大家,所有解决方案似乎都有效。
不幸的是,它们都重置了当前光标位置,所以我编写了以下函数。

function TrimEndLines()
let save_cursor = getpos(".")
silent! %s#\($\n\s*\)\+\%$##
call setpos('.', save_cursor)
endfunction

autocmd BufWritePre *.py call TrimEndLines()

最佳答案

这个替代命令应该可以做到这一点:

:%s#\($\n\s*\)\+\%$##

请注意,这会删除所有仅包含空格的尾随行。要仅删除真正的“空”行,请从上述命令中删除 \s*

编辑

说明:

  • \( .....开始匹配组
  • $\n ... 匹配新行(行尾字符后跟回车符)。
  • \s* ...在此新行上允许任意数量的空格
  • \) .....结束比赛组
  • \+ .....允许该组出现任意次数(一次或多次)。
  • \%$ ... 匹配文件末尾

因此,正则表达式匹配任意数量的仅包含空格的相邻行,仅在文件末尾终止。然后,替换命令将匹配项替换为空字符串。

关于vim - 如何在 Vim 中修剪文件末尾的空行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7495932/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com