找到vim中加载的文件类型

时间:2010-05-06 07:53:03

标签: vim

只要我在vim中加载任何文件,它就会尝试检测文件并在可能的情况下对其进行颜色突出显示。

我想知道一个vim命令会告诉我哪个ftplugin或Filetype插件/文件类型是vim,考虑突出显示该文件。

5 个答案:

答案 0 :(得分:314)

:set filetype?

答案 1 :(得分:14)

您还可以使用%y%Y项将文件类型添加到状态行或窗口标题中。参见

:help 'statusline'
:help 'titlestring'

答案 2 :(得分:6)

&filetype用于脚本使用

最小示例:

echo &filetype

更实际的用法示例:

if &filetype ==# 'c' || &filetype ==# 'cpp'
  setlocal noexpandtab
endif

&语法适用于所有选项:https://vi.stackexchange.com/questions/2569/how-do-i-check-the-value-of-a-vim-option-in-vimscript

答案 3 :(得分:3)

当我想找到文件类型时,那是因为我正在使用.ipy扩展名来修改ipython脚本。上面的Q& A很高兴看到ipython扩展没有被视为python(有点明显)。因此我想强制设置文件类型,我从helfpul vim网站找到了这个。 http://vim.wikia.com/wiki/Forcing_Syntax_Coloring_for_files_with_odd_extensions

将以下内容添加到.vimrc中

au BufRead,BufNewFile *.ipy set filetype=python

答案 4 :(得分:1)

因为你首先要求/搜索这个问题,所以我假设你这样做是因为你的vim不会自动突出显示正确的语法,你试图找出原因,以及如何解决它。

所选答案中的命令:set filetype?基本上要求vim"嘿,您认为当前文件是什么类型"。如果vim没有显示正确的颜色/突出显示,很可能它的答案是在控制台底部显示此filetype=,这意味着vim不知道文件类型。这只是你的任务的一半。

逻辑上,您的下一步将告诉vim"只需使用(例如)ps1语法"突出显示它。您可以通过键入:set filetype=ps1来执行此操作,现在vim将使用ps1样式突出显示当前文件(假设您已经download the proper powershell syntax file and put it into your ~/.vim/syntax)。

此时,您可能希望从现在开始自动语法高亮显示。解决方案是将相应的检测脚本放入〜/ .vim / ftdetect文件夹中。例如,如果要突出显示所有PowerShell脚本.ps1,.psm1等,则将this file放入〜/ .vim / ftdetect

现在这是一个美好的结局。