假设有这样一个文本
1234
123456
12345678
1234
我想要按照前缀最短空格缩进,即上述文本最短空格为 4 ,就把整个文本都向左缩进 4 个空格
目前想到的方法是先遍历一遍,找出最短空格,再遍历一遍,逐行缩进,请教一下还有更好的方法吗?
1
fyyz 2017-07-21 19:42:01 +08:00 via Android
基本上就是这个思路,没法再更简单了。
|
2
ywgx 2017-07-21 20:02:03 +08:00 via Android
楼主要是会 vi 的话,这就是 3 s 的问题
区块操作 瞬间完成,没法细说 |
4
ywgx 2017-07-22 11:35:48 +08:00
1. 首先确认 最短几个空格,比如 3 个
2. :%s/^_ *//g (祛除所以开头空格,下划线 表示一个空格的意思,注意) 3. :%/^/___/g (所有开开头加 3 个空格) 三秒解决问题 |
6
ywgx 2017-07-22 11:42:29 +08:00
嗯,你是对的
|