gpt4 book ai didi

Vim:gf 文件扩展名基于当前文件类型

转载 作者:行者123 更新时间:2023-12-04 14:18:55 24 4
gpt4 key购买 nike

我正在尝试设置我的 .vimrc所以gf通过尝试打开与当前 FileType 具有相同扩展名的文件,将自动处理缺少文件扩展名的路径。

换句话说,我想要这样的东西:

autocmd FileType <filetype> setl suffixesadd+=<exts>

哪里 <exts>是与当前 <filetype> 关联的所有文件扩展名的列表.

例如,我的 filetype.vim将文件类型“javascript”定义为名称为 *.js 的文件, *.javascript , *.es , *.jsx , 和 *.json ,所以每当我编辑 javascript 缓冲区时,如果光标位于路径 ./index 上, 正在运行 gf应该尝试打开 ./index.js .如果该文件不存在,那么它应该尝试 ./index.javascript , 等等。如果文件类型是python,则应该尝试 ./index.py , ./index.pyw , 等等。

如果我只是为每个 FileType 运行它,我很确定上面的 autocmd 应该会产生预期的行为,但我不确定如何做到这一点。

最佳答案

这些默认扩展名没有以有用的格式存储在任何地方,因此您需要构建自己的列表并循环遍历它以运行您的自动命令。

就像是:

augroup suffixes
autocmd!

let associations = [
\["javascript", ".js,.javascript,.es,.esx,.json"],
\["python", ".py,.pyw"]
\]

for ft in associations
execute "autocmd FileType " . ft[0] . " setlocal suffixesadd=" . ft[1]
endfor
augroup END

关于Vim:gf 文件扩展名基于当前文件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33093491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com