less -N为何不显示所有空行?是否为正常行为或存在特定配置选项?
less -N为何不显示所有空行?是否为正常行为或存在特定配置选项?
这其实是less编辑器的正常默认行为哦!
你遇到的现象是因为less默认启用了squeeze-blank(简称-s)选项——这个功能会把连续的多个空行自动压缩成一行显示,同时对应的行号也会跳过被折叠的那些行,所以你看到测试文件里的第4、5行“消失”了,实际是被合并到第3行的空行里了。
而view本质是Vim的只读模式,Vim默认没有开启空行折叠的功能,所以它会老老实实地显示每一行,包括连续的空行,这就是两者的核心区别啦。
如果想让less -N显示所有空行,不进行折叠,你可以用以下两种方式:
- 启动时手动禁用
squeeze-blank选项:less -N -+s <你的测试文件名> - 或者用长选项更直观:
less -N --no-squeeze-blank <你的测试文件名>
另外,你可以检查一下自己的less默认配置——很多系统会把LESS环境变量设置成包含s的参数,让less默认启用压缩空行。你可以在终端运行echo $LESS看看,如果输出里有s,就说明默认开了这个功能;要是想永久关闭,只需要修改你的shell配置文件(比如~/.bashrc或~/.zshrc),把LESS变量里的s去掉就行。
备注:内容来源于stack exchange,提问作者mazda
相关产品推荐
相关产品推荐

