我vimrc
在两台不同的电脑上使用相同的软件,两台 MacBook 都使用 MacVim。一台在从终端启动文件后可以正确检测文件类型。另一台则需要我手动输入。
:set filetype=php
如果您对 vimrc 中的哪些设置可以控制此行为有任何其他好奇的观察,我们将不胜感激。
答案1
尝试添加一行:filetype off
之前filetype plugin indent on
答案2
我要检查的第一件事是 - 在损坏的机器上,编辑你的 vimrc 并确保set filetype on
它在那里的某个地方。
检查损坏机器的其他事项:
- $VIMRUNTIME/filetype.vim 存在
:filetype
当您编辑文件时显示什么?(应该说检测插件和缩进都处于打开状态。)- 是否
set syntax off
出现在你的 vimrc 的任何地方?
通过查看你的文件可以发现以下几点:
第 70-72 行:
文件类型也用于语法高亮。如果使用该命令,则文件类型检测也会被安装。之后:syntax on
无需执行。:filetype on
:syntax on
如果你要使用filetype plugin indent on
,则无需filetype on
在它前面加上 right 。各种命令的工作原理如下:
命令检测插件缩进~ :filetype 开启 开启 不变 不变 :filetype off off 不变 不变 :filetype 插件 开启 开启 不变 :filetype 插件 关闭 不变 关闭 不变 :filetype 缩进 开启 开启 不变 开启 :filetype 缩进 关闭 不变 不变 关闭 :filetype 插件缩进 :filetype 插件缩进 关闭 不变 关闭 关闭
第 170 行:关闭 NERD 闭嘴。您是否收到任何有关使用文件类型的投诉?
其他想法:
非工作机器上的文件是否可能已修改 filetypes.vim?比较文件。它们完全相同吗?权限是否相同?
答案3
最新版本的 vim 不会在启动时自动执行文件类型检测,因为您可能会在 .vimrc 中设置影响文件类型检测的命令。
将以下代码放在 .vimrc 的末尾,你将再次获得文件类型检测
filetype on
filetype plugin on
filetype indent on
答案4
几件事。由于在其中一个上您的 vimrc “工作正常”,这意味着问题出在另一个上(我假设在第一个上,一切都运行正常)。
Vim 可以从各种目录加载配置文件,这些目录具有不同的加载优先级(一个优先级会覆盖另一个优先级)。请参阅 ":help vimfiles" 以查看哪些是这些。
其次,尝试“:echo $myvimrc”来查看“最新”vimrc 的加载位置。它是您当前链接到的那个吗?
第三,正如 Dave 已经指出的那样,您的 vim 目录中是否有一个名为“filetype.vim”的文件,并且您是否有足够的文件类型文件?
如果这些都不适合您,请告诉我们您使用的是哪个版本的 vim/gvim