如何在打开vim后读取日志文件

如何在打开vim后读取日志文件,vim,Vim,每次我打开vim时,它都会生成各种日志文件 bt_regexp_debug.log bt_regexp_log.log nfa_regexp_debug.log nfa_regexp_dump.log nfa_regexp_run.log 为什么要创建它们,我如何才能读取它们?来自regexp\u nfa.c: #ifdef ENABLE_LOG log_fd = fopen(NFA_REGEXP_RUN_LOG, "a"); [...] #ifdef ENABLE_LOG

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

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

为什么要创建它们,我如何才能读取它们?

来自
regexp\u nfa.c

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

[...]

#ifdef ENABLE_LOG
    { 
        FILE *f = fopen(NFA_REGEXP_RUN_LOG, "a");
#ifdef BT_REGEXP_LOG
    f = fopen("bt_regexp_log.log", "a");
regexp.c

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

[...]

#ifdef ENABLE_LOG
    { 
        FILE *f = fopen(NFA_REGEXP_RUN_LOG, "a");
#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"
以及:

结论:编译Vim时定义了
DEBUG

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

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

/*
 * DEBUG                Output a lot of debugging garbage.
 */
/* #define DEBUG */
#CFLAGS = -g -DDEBUG -Wall -Wshadow -Wmissing-prototypes
Makefile
中,我看到:

/*
 * DEBUG                Output a lot of debugging garbage.
 */
/* #define DEBUG */
#CFLAGS = -g -DDEBUG -Wall -Wshadow -Wmissing-prototypes
请注意,两者都被注释掉了

您也可以使用
make CFLAGS=“-DDEBUG”
手动运行make



顺便说一句,我也不知道这些,但通过在Vim源代码树上使用
grep
很快找到了答案。学会爱
grep
<代码>格雷普是你的朋友。;-)

你如何“打开”它?任何开关(选项)?以最基本的方式。不,只需打开一个文件(
vim somefile
),或者甚至在退出vim后仅
vim
就可以生成此日志文件。您熟悉
.vimrc
文件吗?您自定义了吗?是的。我也想到了,所以我完全删除了它,仍然得到了相同的日志文件。里面有什么?一般启动消息?加载的模块。。。非常感谢。就是它!我会听从你的建议,学着去爱
grep
@CamiloCelisGuzman
grep
其实并不是一个很好的工具。我更多地用在一般的“to search”意思中;-)使用哪种工具并不重要,但我经常发现,当遇到神秘错误时,只需搜索错误(或本例中的文件名)就可以找到错误的来源:-)如果您需要命令行工具,那么
grep
始终可用,学习基本知识可能是值得的,但总的来说,我发现这是一个更好/更快的工具。。。