我正在将vim用于很多语言,我希望改进ctrl + p/n
自动完成功能。当我要使用特定的一个时,我在缓冲区中加载一个文件,其中包含我正在使用的语言特定函数的子项:
:badd perl.txt
这会将该文件中的函数加载到auto-complete buffer
我使用的每种语言都有一个.txt
个文件。我希望通过根据文件类型加载特定缓冲区来自动执行此过程。我试过搜索,但云找不到一个好的答案。我唯一的领导是我可能需要使用filetype plugins
以为不确定如何。如果解决方案只是在rc文件中,那么奖励积分(虽然不重要)(因为这样很容易设置新的工作场所)
一种可能的解决方案:
autocmd BufNewFile,BufRead *`<extention>` badd `<dir to file>`
示例:
autocmd BufNewFile,BufRead *pl badd /home/vim_autocomplete/perl.txt
答案 0 :(得分:3)
要回答你提出的问题,我认为
:au FileType * badd path/to/<amatch>.txt
(未经测试)将起作用。我不会使用:badd
,而是修改'complete'
选项:
:au FileType * setl complete+=k/path/to/<amatch>.txt
无论哪种方式,您都可以将命令包装在测试中:
:au FileType * if filereadable("path/to/<amatch>.txt") | ... | endif
(同样未经测试)。当然,如果你想要一个自动命令,那么(无论你使用哪种方法),你都必须在文件类型之后命名文件。
:help :au
:help FileType
:help <amatch>
:help 'complete'