【问题标题】:Is there a "vim runtime log"?是否有“vim 运行时日志”?
【发布时间】:2011-03-02 19:44:04
【问题描述】:

有时我会在我的 vimrc 中尝试自定义/命令。一切看起来都是正确的,但它就是行不通。

很难知道 vim 启动时发生了什么,也很难知道哪个命令失败了,因此很难调试可能导致我的 vimrc 出现问题的原因。这是一种试错法,既费时又真正的 PITA。例如,我遇到问题with snipmate plugin in some files,只是不知道如何发现问题。

vim 启动时是否有一个“运行时日志”,告诉它执行了哪些命令,哪些失败了等等?这对我很有帮助。

【问题讨论】:

    标签: vim runtime logging


    【解决方案1】:

    :messages 显示出现在 vim 状态行中的所有警告、错误和信息性消息(可能是短暂的)。

    :echo errmsg 打印最新的错误消息。

    g< 是另一个鲜为人知的功能。来自:help g<

    g< 命令可用于查看上一个命令输出的最后一页。如果您在 hit-enter 提示符下不小心输入了 <Space>,这将特别有用。

    例如尝试:!ls 然后取消提示,然后点击g<

    【讨论】:

      【解决方案2】:

      我认为没有运行时日志,本身,但您可以在调试模式下运行它。
      http://web.archive.org/web/20090323034339/http://www.troubleshootingwiki.org/Debugging_Vim_Scripts

      【讨论】:

      【解决方案3】:

      使用 -V[N] 选项运行 vim 会生成大量运行时日志,这里 N 是调试级别。

      vim -V9myVim.log
      

      将在当前目录中创建一个调试级别为 9 的日志,文件名为 myVim.log

      【讨论】:

      • 我喜欢 Zyx 和你的这两种方法,但我认为你的方法更好,因为它更简单,只在 cmd 中,我可以在每次运行时设置日志路径,并且我不需要“膨胀”我的 vimrc。欢迎来到 SO!
      • MacVim 似乎不支持-V 选项或任何命令行选项。
      • 这会打开一个没有文件名的空 vim 缓冲区。下一步是什么?
      • 不幸的是(根据:h 'verbosefile'):“写入被缓冲,因此可能有一段时间不会显示。”
      【解决方案4】:

      因为 &verbose,我不得不添加“set nocp”以在 root 中运行时使用“ToggleVerbose()”函数

      【讨论】:

      • 这和问题无关,是vim脚本的基本部分。考虑将其作为评论添加到 ZyX 的答案中。
      【解决方案5】:

      这可能与 SO 所代表的一切背道而驰,但我就是这样做的:我只是在警告出现后立即点击打印屏幕并查看图片。

      【讨论】:

      • 暂停按钮不会有类似的效果,减去浪费的纸张吗?
      • 直到现在我都不知道暂停键的作用。无论如何,我认为它在 Linux stackoverflow.com/questions/92802/… 中没有任何作用
      • FWIW,*nix 终端将在 Ctrl-S 上暂停输出并在 Ctrl-Q 上恢复。
      【解决方案6】:

      把这个函数放到.vimrc中:

      function! ToggleVerbose()
          if !&verbose
              set verbosefile=~/.log/vim/verbose.log
              set verbose=15
          else
              set verbose=0
              set verbosefile=
          endif
      endfunction
      

      然后创建目录~/.log/vim 并调用ToggleVerbose() 以获取您的登录~/.log/vim/verbose.log。请注意,您可能会遇到“变量嵌套太深而无法显示”错误,该错误通常不会仅仅因为您提高了详细级别而出现。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-23
        • 2019-11-17
        • 1970-01-01
        • 2016-05-14
        • 2017-12-18
        相关资源
        最近更新 更多