Defx-Icons 开源项目教程
defx-icons项目地址:https://gitcode.com/gh_mirrors/de/defx-icons
1. 项目的目录结构及介绍
Defx-Icons 项目的目录结构如下:
defx-icons/
├── LICENSE
├── README.md
├── autoload/
│ └── defx/
│ └── icons.vim
├── doc/
│ └── defx-icons.txt
└── plugin/
└── defx_icons.vim
LICENSE
: 项目的许可证文件。README.md
: 项目的基本介绍和使用说明。autoload/
: 包含自动加载的脚本文件。defx/icons.vim
: 主要的功能实现文件。
doc/
: 包含项目的文档文件。defx-icons.txt
: 项目的详细文档。
plugin/
: 包含插件的主文件。defx_icons.vim
: 插件的入口文件。
2. 项目的启动文件介绍
项目的启动文件是 plugin/defx_icons.vim
。这个文件是插件的入口点,负责加载必要的功能和配置。
" plugin/defx_icons.vim
if exists('g:loaded_defx_icons')
finish
endif
let g:loaded_defx_icons = 1
augroup defx_icons
autocmd!
autocmd FileType defx call defx#custom#option('_', {
\ 'columns': 'icons:filename',
\ })
augroup END
这个文件首先检查是否已经加载了 defx_icons
,如果没有,则设置 g:loaded_defx_icons
变量并执行一些初始化操作。
3. 项目的配置文件介绍
项目的配置主要通过 autoload/defx/icons.vim
文件进行。这个文件定义了如何显示图标和文件名。
" autoload/defx/icons.vim
function! defx#icons#init(context) abort
let l:columns = a:context.columns
if l:columns !~# 'icons'
return
endif
let l:icons = defx#icons#get()
let l:icons_column = map(copy(l:icons), { _, val -> val.icon })
call defx#call_column_action('append', l:icons_column)
endfunction
function! defx#icons#get() abort
return [
\ {'icon': '📄', 'name': 'text'},
\ {'icon': '📁', 'name': 'directory'},
\ ]
endfunction
这个文件定义了两个函数:
defx#icons#init(context)
: 初始化图标显示。defx#icons#get()
: 返回图标和对应文件类型的映射。
通过这些配置,可以在 Defx 文件管理器中显示文件和目录的图标。