我有带有彩色日志条目的日志文件(假设扩展名为*.smt2),其中颜色由ansi转义码定义。我安装了基于AnsiEsc.vim的vim插件。
现在,当我打开vim编辑器时,我需要输入:AnsiEsc。如何将:AnsiEsc添加到我的.vimrc中以便在默认视图中显示?
现在,当我打开vim编辑器时,我需要输入:AnsiEsc。如何将:AnsiEsc添加到我的.vimrc中以便在默认视图中显示?
你的自动命令只会对作为命令行参数传递的第一个文件起作用,因为:AnsiEsc
命令只适用于当前缓冲区。它将错过通过:edit
或:split
打开的文件。最好使用BufRead
事件:
autocmd BufRead * AnsiEsc
:AnsiEsc
命令可能会干扰编辑其他类型的文件。log
。然后,您可以通过在~/.vim/ftplugin/log.vim
中编写以下脚本来为这些文件启用插件:" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
AnsiEsc
:filetype plugin on
。)vim "+setf log" logfile
或在 Vim 中输入:setf log
。当然,如果日志文件名称遵循某种模式或具有某个特定的共同字符串,您可以写一个 文件类型检测器;请参阅:help new-filetype
。或者您可以编写一个 shell 别名,例如:alias vimlog='vim +setf\ log'
。
au BufRead,BufNewFile *.smt2 set filetype = log
放入〜/ .vim / ftdetect / log.vim
中。参见:help new-filetype
以获取详细信息。 - Ingo Karkat