我正在尝试设置我的.vimrc
文件,以便gf
可以自动处理没有文件扩展名的路径,通过尝试使用与当前文件类型相同的扩展名打开文件。
换句话说,我想要像这样的东西:
autocmd FileType <filetype> setl suffixesadd+=<exts>
其中<exts>
是当前<filetype>
关联的所有文件扩展名的列表。
例如,我的filetype.vim
将FileType“javascript”定义为名称为*.js
,*.javascript
,*.es
,*.jsx
和*.json
的文件,因此每当我编辑JavaScript缓冲区时,如果光标在路径./index
上,运行gf
应该尝试打开./index.js
。如果该文件不存在,则应尝试./index.javascript
等。如果文件类型是Python,则应尝试./index.py
,./index.pyw
等。
我相信上面的自动命令应该会为每个FileType产生预期的行为,但我不确定如何做到这一点。
require
语句中使用这个东西来跳转文件,并且意识到实际上匹配每个文件类型的_每个_扩展名并不是很有用。现在我只需使用此自动命令添加当前文件扩展名:autocmd BufRead * execute 'setl suffixesadd+=.' . expand('%:e')
。 - Elliot Hatch