我正在使用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颜色转义。
答案 0 :(得分:4)
你做不到。但是你可以暂停编辑器并相对快速地转到shell;
或者您可以使用 Ansi Filter
删除转义序列,这样您至少不会看到一团糟。
答案 1 :(得分:3)
这一个:
:!echo $(tput setaf 1)Hello world$(tput sgr0)
将以彩色打印Hello world
。
不要使用转义序列,而是命名tput条目。 (所有时间,不仅在这个例子中)。阅读:
男人teminfo;男子infocmp; man tput - 欲了解更多信息。
基于评论,我发现这个问题非常有趣。
仍在寻找更好的解决方案,但现在找到这个 - http://code.google.com/p/conque/。 允许在MacVim的缓冲区内运行彩色命令。
答案 2 :(得分:2)
不知道这是否有帮助,但在vim中运行我的RSpec测试可以使用--color
选项为我提供彩色输出。我使用以下命令来内联运行当前的spec文件:
:map ,t :w\|:!rspec --color %<cr>
答案 3 :(得分:1)
如果你在控制台模式下运行macvim(vim,而不是mvim):命令被重定向到shell并在那里执行。它们占据了整个窗口,而不是它的1/3,它们使用控制台碰巧拥有的任何主题。
但是你得到了ansicolors。
答案 4 :(得分:0)
你的问题(以及由@avocade完成的弹出)解决了我在我的aurum插件中进行了一些打印的问题,因此我写了(开始编写,但最重要的功能已经在这里){ {3}}插件。要在您的帐户中使用它,您必须安装它,安装ansi_esc_echo并执行
execute frawor#Setup('0.0', {'autoload/ansi_esc_echo': '0.0'})
call s:_r.ansi_esc.echo("\e[33mabc")
。目前它仅处理(专门讲述特殊字符或序列)回车,退格(未经测试),制表符,换行符和CSI颜色。