【问题标题】:How to get read of log files after opening vim打开vim后如何读取日志文件
【发布时间】:2016-03-16 16:49:46
【问题描述】:

每次打开vim,都会生成各种日志文件。

bt_regexp_debug.log
bt_regexp_log.log
nfa_regexp_debug.log
nfa_regexp_dump.log
nfa_regexp_run.log

为什么要创建它们,我如何阅读它们?

【问题讨论】:

  • 如何“打开”它?任何开关(选项)?
  • 以最基本的方式。不,只要打开一个文件(vim somefile),甚至vim在退出vim后都会生成这个日志文件。
  • 您是否熟悉.vimrc 文件——您定制过它吗?
  • 是的。我也是这么想的,所以我把它彻底删除了,还是一样的日志文件。
  • 嘿。它们里面有什么?一般启动消息?加载模块? ...

标签: vim


【解决方案1】:

来自regexp_nfa.c

#ifdef ENABLE_LOG
    log_fd = fopen(NFA_REGEXP_RUN_LOG, "a");

[...]

#ifdef ENABLE_LOG
    { 
        FILE *f = fopen(NFA_REGEXP_RUN_LOG, "a");

来自regexp.c

#ifdef BT_REGEXP_LOG
    f = fopen("bt_regexp_log.log", "a");

对此的所有调用似乎都包含在#ifdef ENABLE_LOG#ifdef BT_REGEXP_LOG 中。换句话说:它们是编译时开关。

查看这两个文件的顶部,我看到了:

#ifdef DEBUG
# define NFA_REGEXP_ERROR_LOG   "nfa_regexp_error.log"

和:

#ifdef DEBUG
/* show/save debugging data when BT engine is used */
# define BT_REGEXP_DUMP

结论:你的 Vim 编译时定义了DEBUG

您可以使用vim --version 验证这一点,它应该在底部显示DEBUG BUILD。我看不出有任何方法可以在运行时禁用创建这些文件;你需要重新编译 Vim。

似乎没有configure 开关来启用/禁用此功能。默认情况下应该禁用它。在feature.h 我看到了:

/*
 * DEBUG                Output a lot of debugging garbage.
 */
/* #define DEBUG */

Makefile 我看到了:

#CFLAGS = -g -DDEBUG -Wall -Wshadow -Wmissing-prototypes

请注意,两者都被注释掉了。

您也可以使用 make CFLAGS="-DDEBUG" 手动运行 make。


附:我也不知道这些,但通过在 Vim 源代码树上使用 grep 很快找到了答案。学会爱grepgrep 是你的朋友。 ;-)

【讨论】:

  • 谢谢!就是它!我会听从你的建议,学会爱grep
  • 顺便说一句,@CamiloCelisGuzman grep 实际上并不是一个很棒的工具。我更多地在一般的“搜索”含义中使用它;-) 您使用 哪个 工具并不重要,但我经常发现遇到神秘错误时,只需搜索错误(或在这种情况下为文件名)是找出它来自哪里的好方法:-) 如果您想要一个命令行工具,那么grep 总是可用的,学习基础知识可能是值得的,但是我发现the_silver_searcher 通常是更好/更快的工具...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-04
  • 2018-11-09
  • 1970-01-01
相关资源
最近更新 更多