VIM Unix命令以彩色打印

| 我正在使用MacVim,我想用彩色打印
!
命令。例如: 在bash中,以下echo语句将绿色打印出Hello World(按预期):
$ echo -e \"\\033[32m Hello World\" 
 Hello World
但是,在VIM中,输出不是彩色的,并且会打印转义码:
:!echo -e \"\\033[32m Hello World\" 
 [32m Hello World
如何让VIM(尤其是MacVim build 57)打印
!
命令的输出并遵守ANSI颜色转义。     
已邀请:
你不能。但是您可以暂停编辑器并相对快速地放置到shell中。 或者,您可以使用
Ansi Filter
删除转义序列,以便至少看不到混乱。     
这个:
:!echo $(tput setaf 1)Hello world$(tput sgr0)
将以彩色打印
Hello world
。 不要使用转义序列,而是使用命名的tput条目。 (所有时间,不仅在此示例中)。读: man teminfo; man infocmp; man tput-有关更多信息。 根据评论,我发现这个问题非常有趣。 仍在寻找更好的解决方案,但现在找到它-http://code.google.com/p/conque/。 允许在MacVim的缓冲区中运行彩色命令。     
不知道这是否有帮助,但是在vim中运行我的RSpec测试可以使用
--color
选项为我提供彩色输出。我使用以下命令内联运行当前规范文件:
:map ,t :w\\|:!rspec --color %<cr>
    
如果您在控制台模式下运行macvim(vim,而非mvim),则全部:!命令将重定向到外壳程序并在其中执行。他们占据整个窗口,而不是整个窗口的1/3,并且使用控制台恰好具有的任何主题。 但是你会得到ansicolors。     
您的问题(由@avocade弹出)解决了我在aurum插件中进行一些打印的问题,因此我编写了ansi_esc_echo插件(开始编写,但最重要的功能已经在这里)。要在您的计算机上使用它,您必须先安装它,然后安装Frawor并执行
execute frawor#Setup(\'0.0\', {\'autoload/ansi_esc_echo\': \'0.0\'})
call s:_r.ansi_esc.echo(\"\\e[33mabc\")
。目前,它仅处理回车符,退格键(未测试),制表符,换行符和CSI颜色(专门谈论特殊字符或序列)。     

要回复问题请先登录注册