即使使用sudo,Vim默认以只读模式打开一些文件

时间:2015-04-29 13:15:25

标签: vim sudo

我对vim有一个奇怪的问题 - 对于某些文件它没有为语法着色并默认打开它只读模式,即使我使用sudo。这个文件的chmod是664,我也是这个文件的拥有者,所以通常我不应该。

我的vimrc中没有set ro

我还注意到,在删除此文件的.swp后经常会发生这种情况 - 不幸的是,在此之后,每次以只读模式打开此特定文件。一个想法是 - 也许是某种spf13缓存?

对于其他文件,行为是正确的。

有人知道这个问题吗?

2 个答案:

答案 0 :(得分:2)

我找到了解决方案 - 它比我想象的更微不足道。

我更仔细地阅读了vim消息,最后我看到了:

if you did this already, delete the swap file `~/.vimswap/urls.py.swp`

所以我做了一些小调查,我在我的/ home目录中找到了.vimviews。我刚刚删除了它的内容......它的工作原理!

答案 1 :(得分:0)

可能是spf13。在我看来,spf13引起的问题太多了。当您看到问题时尝试执行:verbose set readonly?,看看它发生的位置。我猜:

  1. 我想我记得spf13内置了某种自动会话管理功能,如果文件已设置在该文件上,这将恢复文件的'readonly'。
  2. 很可能(一种相当常见的解决方案)如果spf13检测到现有的交换文件,它将自动以只读模式打开文件,触发(1)。
  3. 一些autocmd或与(2)相关的其他autocmd也很可能设置一个空的文件类型或语法,同样会被(1)记住。
  4. 如果是这种情况,您可能会找到导致问题的会话文件(使用该:verbose set readonly?命令)并将其删除。

    还要考虑一下,你是否真的需要所有的spf13,或者你是否可以通过安装插件和自己配置Vim来更轻松地实现所需的配置。