【问题标题】:Vim won't load file in buffer (when executed from specific working directories)Vim 不会在缓冲区中加载文件(从特定工作目录执行时)
【发布时间】:2014-12-17 16:00:33
【问题描述】:

有时在 Vim 编辑器中打开文件时(以传统方式:从命令行调用它,文件名作为参数传递),应用程序无法为它们创建相应的缓冲区,并且加载这些缓冲区中的内容。相反,它打开时只加载了空的(新)文件缓冲区。

我观察到这种情况的发生与 Vim 从特定目录(不一定是正在打开的文件所在的目录)运行之间存在关联。只要我从那个目录运行 Vim,它就不会打开任何文件,即使它们位于不同的目录中。

我的用户的主目录就是这种情况,但不限于那个。有时,在没有明显原因的情况下简单地编辑目录中的某些文件后会出现故障。

我使用的插件:

  • 病原体
  • MiniBufExplorer
  • 单编译
  • ctrlp
  • NERDTree
  • vim 管道
  • vim 敏感

你也可以看看我的.vimrc文件。

【问题讨论】:

  • 其中一个插件行为不端。找出它是哪一个并提交错误报告。
  • @FDinoff:自从我第一次遇到这个问题以来,我一直推测MiniBufExplorer与这个案例有关。同时,我决定尝试另一个插件 vim-airline。该插件完全取代了 MiniBufExplorer 的功能,并改进/扩展了它。安装后,我禁用(删除)MiniBufExplorer,问题就消失了(现在任何目录中的文件似乎都可以正常打开)。从技术上讲,这并不能完全解决我的问题,但是这个替代方案对我有用,因为我真的很喜欢这个新插件。无论如何,感谢您的回复。
  • 您确定该文件是您认为的那样吗?在 ex 模式下尝试 :echo expand('%:p') 。您也可以尝试在命令行中使用 -V 来获得详细输出。如果您尝试从 vim (:e) 中打开此文件怎么办?

标签: linux vim buffer minibufexplorer


【解决方案1】:

这可能是由行为不端的插件引起的。

通常,二分搜索,您禁用一半插件,然后只有一半(当问题仍然存在时)或另一半(当问题消失时)让您快速找到有问题的脚本。您的~/.vimrc 中的配置也可以这样做(通过注释掉块)。

此外,您可以使用vim -V20vimlog 捕获 Vim 会话的完整日志。退出 Vim 后,检查 vimlog 日志文件中的可疑命令。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-28
    • 1970-01-01
    • 2016-05-15
    • 2017-05-13
    • 2016-02-19
    • 1970-01-01
    相关资源
    最近更新 更多