根据我目前的知识,我可以使用autocmd FileType markdown colorscheme zen
之类的命令为特定类型的文件设置colorscheme。
现在我需要为所有那些没有后缀的文件使用colorscheme
例如no_suffix_file
。
我在网上做了一些研究,但没有找到相关的信息
我想vim中的这类文件可能有一个名称,至少是vim' s FileType detector range
中所有其他文件的名称。
它是什么?
答案 0 :(得分:3)
无论你放在vimrc
中的是什么用于每个缓冲区,包括没有filetype
的缓冲区,除非有ftplugin
覆盖你的通用设置
解决此问题的一种方法是至少涉及一个自动命令和一个函数:
function! MyColors()
if &filetype == ""
colorscheme noft
elseif &filetype == "foo"
colorscheme foo
elseif &filetype == "bar"
colorscheme bar
else
colorscheme baz
endif
endfunction
augroup colors
autocmd!
autocmd BufNewFile,BufEnter * call MyColors()
augroup END
请注意,colorschemes无论如何都是全局的,所以我不确定这是个好主意。
答案 1 :(得分:0)
当Vim 可以从文件扩展名中确定文件的类型时,它会。例如,名称以" .c"结尾的文件。几乎总是C语言文件,所以Vim设置" c"文件类型。
但是,没有扩展名的文件可以完全属于任何类型。它们可以是makefile,配置文件,shell脚本......
某些文件类型可以由其内容确定,即使它们没有扩展名。例如,脚本语言文件(perl,python等)以及shell脚本通常会有一个" hashbang"告诉shell调用什么程序来解释脚本。 Vim也可以使用此行来确定文件类型。其他文件类型具有其他区别特征。
有关详细信息,请参阅s
;有关示例,请参阅文件:help new-filetype-scripts
(以及默认安装中内容中Vim检测到的文件)。
如果未从文件扩展名中检测到文件类型,并且未从文件内容中检测到文件类型,则Vim将不会分配任何文件类型,并且$VIMRUNTIME/scripts.vim
选项将为空。 romainl的回答显示了如何检测空文件类型。