【发布时间】:2015-10-13 03:12:29
【问题描述】:
我正在尝试设置我的.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 应该会产生预期的行为,但我不知道该怎么做。
【问题讨论】:
-
你写的自动命令有什么问题?
-
你把它打包成 vim 插件了吗? ....“我将与自动命令结合使用,将当前文件扩展名添加到 suffixesadd”——听起来是个好主意。
-
@alexanderbird 我主要使用它来跳转到 NodeJs
require语句中的文件,并意识到匹配文件类型的 every 扩展名在实践中并不是那么有用。现在我只使用这个自动命令来添加当前文件扩展名:autocmd BufRead * execute 'setl suffixesadd+=.' . expand('%:e')
标签: vim