很喜欢的VS Code的一个特性是,开启word wrap之后,如果某一行太长,会自动拐到下一行
1 |a very long line a very long line
|a very long line a very long line
|a very long line
2 |a very long line
当然这只是视觉上显示为多行,文本数据上第1行仍然是只有最后一个换行符。
这还不是最赞的,最赞的是,如果这一行开头有空格缩进,wrap过来的其他行前面也会有相同长度的缩进
1 | a very long line a very long
| line a very long line a very
| long line a very long line
2 |a very long line
如果在vim上,wrap的其他行前面不会有相同长度的缩进,只有第一行有
1 | a very long line a very long
|line a very long line a very long
|line a very long line
2 |a very long line
这在写代码和写文字的时候非常方便。比如写list item下面的补充文字,一眼就能看出整个块都属于当前item
1 |* butter
2 |
3 | a very long line a very long
| line a very long line a very
| long line a very long line
4 |
5 |* bread
找了半天也没找到这个特性的严谨称呼叫什么,更不知道用CSS如何实现,我想要在博客的代码块里也实现相同的效果。现在博客里的代码,如果某一行特别长,会像vim一样拐到下一行的最前面,显得非常杂乱。
终于找到了, vim也有这个特性 ,叫做 breakindent ,可以用
set breakindent
开启。
不过还是不知道CSS怎么实现。用F12看了VS Code的DOM,发现是用代码在前面动态插入相同数量的空格,并没有用纯CSS实现。
2025/3/19