我有日志文件(比方说扩展名为* .smt2),带有彩色日志条目,其中颜色由ansi转义码定义。我安装了基于AnsiEsc.vim的vim插件我不确定它是否成功,因为我收到了错误。
现在,当我打开vim编辑器时,我需要输入:AnsiEsc。 如何添加:AnsiEsc到我的.vimrc作为默认视图? (请告诉我自从我在Vim刚开始以来的所有步骤。)谢谢。
答案 0 :(得分:1)
您的autocmd仅适用于作为命令行参数传递的第一个文件,因为:AnsiEsc
命令仅适用于当前缓冲区。它会遗漏通过:edit
或:split
打开的文件。更好地使用BufRead
事件:
autocmd BufRead * AnsiEsc
另外,我想知道你是否只使用Vim查看日志文件(这可能会很遗憾)? :AnsiEsc
命令可能会干扰编辑其他类型的文件。
通常的解决方案是定义自定义文件类型,例如log
。然后,您可以通过~/.vim/ftplugin/log.vim
中的以下脚本为这些文件启用插件:
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
AnsiEsc
(您还需要在.vimrc中使用:filetype plugin on
。)
要打开日志文件,您必须通过vim "+setf log" logfile
指定文件类型::setf log
或稍后在Vim内部。当然,如果日志文件名称遵循模式或者内部有某个公共字符串,那么您可以想象并编写文件类型检测;见:help new-filetype
。或者你写一个shell别名,例如alias vimlog='vim +setf\ log'