一旦我在vim中加载了任何文件,它将尝试检测该文件并在可能的情况下对其进行颜色突出显示。
我想知道一条vim命令,该命令会告诉我考虑突出显示文件的是ftplugin或Filetype插件/文件类型。
setlocal cursorline
,~/.vim/ftplugin/python.vim
您将在python文件中突出显示当前行。请参阅:help ftplugin
和:help after
一旦我在vim中加载了任何文件,它将尝试检测该文件并在可能的情况下对其进行颜色突出显示。
我想知道一条vim命令,该命令会告诉我考虑突出显示文件的是ftplugin或Filetype插件/文件类型。
setlocal cursorline
,~/.vim/ftplugin/python.vim
您将在python文件中突出显示当前行。请参阅:help ftplugin
和:help after
Answers:
:set filetype?
:set ft?
:se ft?
- 我赢了。;)
:se ft
?我赢了!
t
。?是可选的。
&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
当我想查找文件类型时,是因为我在使用.ipy扩展名修改ipython脚本。上面的问答很好地证明了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
由于您是首先询问/搜索此问题,所以我假设您这样做是因为您的vim不会以某种方式自动为您突出显示正确的语法,并且您正试图找出原因以及如何解决它。
:set filetype?
所选答案中的命令主要询问vim“嘿,您认为当前文件是哪种类型”。而且,如果vim不能正确显示颜色/高亮显示,则最有可能是您的回答是filetype=
在控制台底部显示此信息,这意味着vim不知道文件类型。这只是您追求的一半。
从逻辑上讲,您的下一步将是告诉vim“仅使用(例如)ps1语法突出显示它”。您可以通过输入来执行此操作:set filetype=ps1
,现在vim将使用ps1样式突出显示当前文件(前提是您已经下载了正确的powershell语法文件并将其放入〜/ .vim / syntax中)。
在这一点上,从现在开始,您可能希望自动语法突出显示。解决方案是将相应的检测脚本放入〜/ .vim / ftdetect文件夹。例如,如果要突出显示所有PowerShell脚本.ps1,.psm1等,请将此文件放入〜/ .vim / ftdetect
现在,这是一个幸福的结局。