As soon as I load any file in vim, It\'ll try to detect the file and color-highlight it if possible.
I want to know a vim command that will tell me which ftplugin or Fil
&filetype
for script usage
Minimal example:
echo &filetype
More realistic usage example:
if &filetype ==# 'c' || &filetype ==# 'cpp'
setlocal noexpandtab
endif
&
syntax works for all options: https://vi.stackexchange.com/questions/2569/how-do-i-check-the-value-of-a-vim-option-in-vimscript
When I wanted to find the filetype it was because I was having the .ipy extension modifying an ipython script. The above Q&A worked great to see that the ipython extension was not being treated as python (somewhat obvious). Thus I wanted to force set the filetype, and I found this from the ever helfpul vim site. http://vim.wikia.com/wiki/Forcing_Syntax_Coloring_for_files_with_odd_extensions
Adding the below to your .vimrc works
au BufRead,BufNewFile *.ipy set filetype=python
Since you are asking/searching this question in the first place, I assume you do this because your vim somehow does not highlight the proper syntax for you automatically, and you are trying to figure out why, and how to fix it.
The command :set filetype?
in the chosen answer basically asks vim "hey what type do you think the current file is". And if vim is not displaying proper color/highlighting, most likely its answer to you is displaying this filetype=
at the bottom of your console, meaning vim does not know the file type. This is only halfway of your quest.
Logically, your next step will be telling vim "just highlight it using (for example) ps1 syntax". You do so by typing :set filetype=ps1
, now vim will highlight the current file using ps1 style (providing that you already download the proper powershell syntax file and put it into your ~/.vim/syntax).
At this point, you will probably want auto-syntax-highlight from now on. The solution is to put a corresponding detection script into your ~/.vim/ftdetect folder. For example, if you want to highlight all PowerShell scripts .ps1, .psm1, etc., you put this file into your ~/.vim/ftdetect
Now that is a happy ending.
You can also add the filetype to your status line or window title using the %y
and %Y
items. See
:help 'statusline'
:help 'titlestring'
:set filetype?