Đây là vim-kịch bản để tạo ra phác thảo Markdown:Cách định dạng mục nhập vim quickfix?
fun! TOC()
call setloclist(0, [])
let save_cursor = getpos(".")
call cursor(1, 1)
while search("^#", 'W') > 0
let msg = printf('%s:%d:%s', expand('%'), line('.'), substitute(getline('.'), '#', '»', 'g'))
laddexpr msg
endwhile
call setpos('.', save_cursor)
endfun
com! -bar TOC call TOC()
Một tập tin mẫu markdown: https://github.com/progit/progit/raw/master/zh/01-introduction/01-chapter1.markdown
Sau khi chạy :TOC
lệnh, đây là danh sách nhanh chóng:
01-chapter1.markdown|5| »» 关于版本控制 »»
01-chapter1.markdown|11| »»» 本地版本控制系统 »»»
01-chapter1.markdown|22| »»» 集中化的版本控制系统 »»»
01-chapter1.markdown|33| »»» 分布式版本控制系统 »»»
01-chapter1.markdown|42| »» Git 简史 »»
01-chapter1.markdown|56| »» Git 基础 »»
01-chapter1.markdown|60| »»» 直接记录快照,而非差异比较 »»»
01-chapter1.markdown|74| »»» 近乎所有操作都是本地执行 »»»
01-chapter1.markdown|82| »»» 时刻保持数据完整性 »»»
01-chapter1.markdown|92| »»» 多数操作仅添加数据 »»»
01-chapter1.markdown|98| »»» 文件的三种状态 »»»
01-chapter1.markdown|121| »» 安装 Git »»
01-chapter1.markdown|125| »»» 从源代码安装 »»»
01-chapter1.markdown|152| »»» 在 Linux 上安装 »»»
01-chapter1.markdown|162| »»» 在 Mac 上安装 »»»
01-chapter1.markdown|177| »»» 在 Windows 上安装 »»»
01-chapter1.markdown|185| »» 初次运行 Git 前的配置 »»
01-chapter1.markdown|197| »»» 用户信息 »»»
01-chapter1.markdown|206| »»» 文本编辑器 »»»
01-chapter1.markdown|212| »»» 差异分析工具 »»»
01-chapter1.markdown|220| »»» 查看配置信息 »»»
01-chapter1.markdown|240| »» 获取帮助 »»
01-chapter1.markdown|254| »» 小结 »»
Tôi muốn định dạng các mục sửa chữa nhanh chóng như thế này:
|005| »» 关于版本控制 »»
|011| »»» 本地版本控制系统 »»»
|022| »»» 集中化的版本控制系统 »»»
|033| »»» 分布式版本控制系统 »»»
|042| »» Git 简史 »»
|056| »» Git 基础 »»
|060| »»» 直接记录快照,而非差异比较 »»»
|074| »»» 近乎所有操作都是本地执行 »»»
|082| »»» 时刻保持数据完整性 »»»
|092| »»» 多数操作仅添加数据 »»»
|098| »»» 文件的三种状态 »»»
|121| »» 安装 Git »»
|125| »»» 从源代码安装 »»»
|152| »»» 在 Linux 上安装 »»»
|162| »»» 在 Mac 上安装 »»»
|177| »»» 在 Windows 上安装 »»»
|185| »» 初次运行 Git 前的配置 »»
|197| »»» 用户信息 »»»
|206| »»» 文本编辑器 »»»
|212| »»» 差异分析工具 »»»
|220| »»» 查看配置信息 »»»
|240| »» 获取帮助 »»
|254| »» 小结 »»
tôi không thể tìm thấy bất kỳ tùy chọn để làm điều đó. Nếu bạn biết, hãy cho tôi biết. Cảm ơn!
BTW, (tốt đẹp và hữu ích) thực hiện của bạn bỏ qua các tiêu đề đầu tiên. (Trong ví dụ, '# 起步 #' bị thiếu.) Bạn cần thêm cờ 'c' cho 'tìm kiếm đầu tiên()': ... gọi con trỏ (1, 1) để cờ = 'cW' trong khi tìm kiếm ("^ #", cờ)> 0 để cờ = 'W' ... –