简介
在linux系统中,使用tree命令可以方便的查看目录结构,但是有个缺点:不能向windows系统上那么方便的折叠起各个子文件夹。本文通过一个简单的python脚本,借助vim的indent折叠方式来实现.
tree命令
1 .
2 ├── fdl.texi
3 ├── jk
4 ├── Makefile.am
5 ├── manual
6 │ ├── app.txt
7 │ ├── flash.txt
8 │ ├── helper.txt
9 │ ├── images
10 │ │ └── jtag-state-machine-large.png
11 │ ├── jtag
12 │ │ └── drivers
13 │ │ └── remote_bitbang.txt
14 │ ├── jtag.txt
15 │ ├── main.txt
16 │ ├── primer
17 │ │ ├── autotools.txt
18 │ │ ├── commands.txt
19 │ │ ├── docs.txt
20 │ │ ├── jtag.txt
21 │ │ └── tcl.txt
22 │ ├── release.txt
23 │ ├── scripting.txt
24 │ ├── server.txt
25 │ ├── style.txt
26 │ ├── target
27 │ │ ├── mips.txt
28 │ │ └── notarm.txt
29 │ └── target.txt
30 ├── openocd.1
31 ├── openocd.info
32 ├── openocd.info-1
33 ├── openocd.info-2
34 ├── openocd.texi
35 ├── stamp-vti
36 └── version.texi
37
38 6 directories, 29 files
mtree实现
代码放在github上,此处不再赘述:
mtree输出结果
- jk
- fdl.texi
- version.texi
- Makefile.am
- openocd.info-2
- openocd.info
- openocd.info-1
- openocd.1
+ manual
- server.txt
+ images
- jtag-state-machine-large.png
- release.txt
- helper.txt
+ primer
- tcl.txt
- autotools.txt
- commands.txt
- jtag.txt
- docs.txt
+ jtag
+ drivers
- remote_bitbang.txt
- target.txt
- main.txt
- app.txt
- jtag.txt
+ target
- notarm.txt
- mips.txt
- scripting.txt
- style.txt
- flash.txt
- stamp-vti
- openocd.texi
vim折叠目录方法
- 设置折叠方式:
:set fdm=indent
- 关闭全部折叠:zM
- 打开全部折叠:zR
- 关闭光标下的折叠:zc
- 设置折叠级别:
:set foldlevel=1
最终效果
最终效果请移步bilibili:https://www.bilibili.com/video/av40546632/